الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

بكود لل port

بدأه -ArabAttack- في 24 يوليو 2010 · 4 رد · 767 مشاهدة · في أرشيف قسم الـــ Assembly
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته

اخواني عندي كم سؤال محيرني بالاسمبلي

الاول هو كيف استخدم عناوين المنافذ الي زي كده مثلا عنوان المنفذ التسلسلي com2 هو 2F8H-2FFH

كيف يمكنني استخدامه الكود انا اعرفه بس ما اعرف ايش احط الكود كالتالي

MOV DX , هنا ايش احط
IN AL , DX

والسؤال الثاني ابغا عناوين جميع المنافذ يعني مثلا اليو اس بي وغيره

اهم شيء اليو اس بي

واذا احد عنده جميع عناوين المنافذ فليضعها هنا

وشكرا

#2
اقتباس
الاول هو كيف استخدم عناوين المنافذ الي زي كده مثلا عنوان المنفذ التسلسلي com2 هو 2F8H-2FFH

مساحة الذاكرة التى يستهلكها هذا البورت هى 8 بايت تبدأ من 2F8 و لمساحة 8 بايت لذا اخر عنوان هو 2FF. انت ستتعامل مع العنوان 2F8 إذا اردت القراءة او الكتابة داخل هذه المساحه.

اقتباس
كيف يمكنني استخدامه الكود انا اعرفه بس ما اعرف ايش احط الكود كالتالي

قمت بتجربة الكود التالى من داخل الأمر debug و لم يعطنى اى مشاكل:

MOV DX, 2F8
IN AX, DX

اقتباس
والسؤال الثاني ابغا عناوين جميع المنافذ يعني مثلا اليو اس بي وغيره

من Device Manager افتح الـ Property Page لأى Device تريد و حدد التاب Resources، كل الأرقام المكتوبه للنوع I/O Range و يوجد ايضا Memory Range هؤلاء هم اكثر ما ستحتاج إليهم.

اقتباس

اهم شيء اليو اس بي

واذا احد عنده جميع عناوين المنافذ فليضعها هنا

تعتمد على اللوحه الأم لديك فقد يوجد لديك منافذ Usb و لكن غير مفعله من داخل الـ BIOS و بالتالى لن تراها من داخل نظام التشغيل و قد تكون مفعله و حينها عددها يختلف من جهاز لأخر، الحل الأفضل لك هو بإستخدام WMI لإحضار بيانات هذه المنافذ.

يمكنك قراءة كتاب USB Complete إذا كنت مهتم بالبرمجه له و تريد معرفة بيانات تفصيليه عنه.

و الله ولي التوفيق

تم تعديل هذه المشاركة بواسطة محمد علاء الدين في 24 يوليو 2010 في 04:40

مدونتي: C++ Tips and Tricks

#3
محمد علاء الدين كتب:

مساحة الذاكرة التى يستهلكها هذا البورت هى 8 بايت تبدأ من 2F8 و لمساحة 8 بايت لذا اخر عنوان هو 2FF. انت ستتعامل مع العنوان 2F8 إذا اردت القراءة او الكتابة داخل هذه المساحه.

قمت بتجربة الكود التالى من داخل الأمر debug و لم يعطنى اى مشاكل:

MOV DX, 2F8
IN AX, DX

من Device Manager افتح الـ Property Page لأى Device تريد و حدد التاب Resources، كل الأرقام المكتوبه للنوع I/O Range و يوجد ايضا Memory Range هؤلاء هم اكثر ما ستحتاج إليهم.

تعتمد على اللوحه الأم لديك فقد يوجد لديك منافذ Usb و لكن غير مفعله من داخل الـ BIOS و بالتالى لن تراها من داخل نظام التشغيل و قد تكون مفعله و حينها عددها يختلف من جهاز لأخر، الحل الأفضل لك هو بإستخدام WMI لإحضار بيانات هذه المنافذ.

يمكنك قراءة كتاب USB Complete إذا كنت مهتم بالبرمجه له و تريد معرفة بيانات تفصيليه عنه.

و الله ولي التوفيق

اخوي بارك الله فيك ووفقك في دينك ودنياك وشكرا

لك على مجهودك الفائق

بالتوفيق لك اخوي

-ArabAttack- كتب:

اخوي بارك الله فيك ووفقك في دينك ودنياك وشكرا

لك على مجهودك الفائق

بالتوفيق لك اخوي

اذا تسمح اخوي ابغا انقل كلامك الى منتدى اخر وساذكر اسمك والمصدر بس عشان المنتدى الاخر ما احد يعرف

في انتظارك

بالتوفيق

اخوي بس اذا تسمح تحط المعلومات بالعربي حقت كيف اجيب المنافذ

وشكرا

#4
اقتباس
اذا تسمح اخوي ابغا انقل كلامك الى منتدى اخر وساذكر اسمك والمصدر بس عشان المنتدى الاخر ما احد يعرف

لا مشكله

اقتباس
اخوي بس اذا تسمح تحط المعلومات بالعربي حقت كيف اجيب المنافذ

لقد ذكرت لك الكيفيه و بالنسبه للكلمات الإنجليزيه فهى اجباريه لأنها اسماء النوافذ داخل نظام التشغيل و ليست كلمات من عندى.

و الله ولي التوفيق

مدونتي: C++ Tips and Tricks

#5

طيب اخوي سؤال كيف ابغا اعرف المنفذ المستخدم من المنفذ غير المستخدم عبر الاسمبلي

وشكرا

مواضيع مشابهة