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

استفسار في كود

مغلقمُجاب
بدأه 0000000 في 30 مارس 2014 · 2 رد · 993 مشاهدة · في لغة Assembly لأنظمة 16, 32, 64 بت
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

MOV AH,02h
MOV DL,41h
INT 21h

 

هدا الكود لطباعة حرف A

 

على حسب ما فهمت

 ان السطر الاول نضع القيمة 02H في المسجل AH

السطر الثاني نضع القيمة 41H في المسجل DL

والسطر الثالت نستدعي المقاطعة 21H

 

اتمنى منكم ان تفسرو لي الكود اكثر

لانني لا اعرف كيفية تحويل الحروف الى الهكس

 

 

 

MOV AL,02h
MOV DH,41h
INT 21h

 

هل هدا الكود صحيح ويقوم بنفس العملية

 

جزاكم الله خيرا

تم تعديل هذه المشاركة بواسطة 0000000 في 30 مارس 2014 في 17:13

#2 أفضل إجابة

المقاطعة ‏int 21h

هي أحد مقاطعات الدوس وسميت مقاطعة لأن البرنامج الأساسي يتوقف ليتم تنفيذها

توجد بها عدة دوال وتوضع دوالها في المسجل‎ ‎‏ ‏ah

على حسب رقم الدالة ، فالدالة رقم 2 لطباعة حرف اسكي على شاشة الدوس ويوضع رمز الاسكي في المسجل ‏dl‏ وعند مناداتها فإنها تبحث في المسجل ‏ah‏ عن رقم الدالة . وبما أنها دالة طباعة حرف فإنها تأخذ رمز الآسكي من المسجل ‏dl‏ لذلك يجب تهيئة هذين المسجلين قبل مناداتها

‏

Mov ah, 2 ; or 02h
Mov dl, 'A' ; or 41h
Int 21h ; call intreppution

تم تعديل هذه المشاركة بواسطة Hisawa++ في 30 مارس 2014 في 23:56

‎لا تيأسن إذا كبوتم مرة ** إن النجاح حليف كل مثابر‎

 

Import AnyCodeYouLearned Project = findNewProjecthasProject = Truewhile (!dead&&hasProject) { codeingisDone = try_Codeif (isDone)  Project = findNewProjectelse learn_code
#3

:) مفهوم اخي

 

شكرا لك

هذا الموضوع مغلق.

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