السلام عليكم ورحمة الله وبركاته ..
ارجو المساعده في فكرة هذا السؤال :
ادخال رقمين وايجاد حاصل ضربهما
الرقمين ضمن 0 الى 9 المشكله التى واجهتني هي ايجاد الناتج الاكبر
من 20 .
السلام عليكم ورحمة الله وبركاته ..
ارجو المساعده في فكرة هذا السؤال :
ادخال رقمين وايجاد حاصل ضربهما
الرقمين ضمن 0 الى 9 المشكله التى واجهتني هي ايجاد الناتج الاكبر
من 20 .
السلام عليكم
اخى الحبيب هذه المشكله تم حلها اكثر من مره وهناك العديد من المشاركات التى تطرقت لها الرجاء البحث فى المنتدى وستجد حلول كامله لها.
والسلام
لا إله إلا الله محمد رسول الله
busbar : يجب ان تدرك انه هناك حد ادنى للمعرفة المطلوبة قبل البدء في عمل أي شئ.
السلام عليكم ورحمة الله وبركاته ...
أخى احمد غريب مشكوور على تعاونك ... ولكن لقد بحثت في المنتدى ووجدت
برنامج الاله الحاسبة ولكنه متطور شويه وقوى
انا فقط اريد الفكرة للبرنامج ... وهي الاعداد الاكبر من 9 .
ملاحظه الاعداد المدخله من 0 الى 9 فقط يعني اكبر نتيجه هي 81
ارجو المساعده واذا كان موجود في المنتدى كتابة الرابط لانى تعبت وانا ابحث
عنه ... تحملوني اخوانى ..
السلام عليكم ورحمة الله وبركاته
بالنسبة لفكرة السؤال هي كالتالي:
لاستقبال عددين من لوحة المفاتيح نحن بحاجة الى المقاطعة التالية
mov ah,1
int 21h
عندما يصل المعالج للهذه الاوامر يتوقف عن العمل وينتظر الضغط على زر من ازرار لوحة المفاتيح
عندها يضغط المستعمل على رقم من الارقام في المجال من 0 حتى 9
قيمة اسكي كود للزر الذي ضغطنا عليه تخزن في المسجل al بصورة تلقائية.
ولكن للحصول على القيمة العشرية المطلوبة يجب ان نطرح من القيمة المخزنة في al القيمة 30H
اذا
mov ah,1
int 21h
sub al,30h
mov bl,al
mov ah,1
int 21h
sub al,30h
هنا تم استقبال العددين وتم تحويل الاعداد الى القيم العشرية حتى نتمكن من اجراء عملية الضرب
عملية الضرب بالشكل التالي
mul bl
هنا تم ضرب قيمة المسجل bl مع قيمة المسجل al وتم تخزين النتيجة النهائية في المسجل ax
اذا اردت طباعة القيمة النهائية عليك اجراء عملية قسمة النتيجة الموجودة في المسجل ax على عشرة للحصول على منزلة الاحاد ومنزلة العشرات ثم طباعة كل قيمة لوحدها
عملية القسمة
mov dl,10
div dl
بعد هذه العملية منزلة الاحاد موجودة في المسجل ah ومنزلة العشرات في المسجل al
للطباعة
mov bx,ax
add ah,30h
mov dl,ah
mov ah,2
int 21h
add bl,30h
mov dl,bl
mov ah,2
int 21h
للحصول على معلومات اكثر انظر الدرس الذي يتناول عمليات الضرب والقسمة في دورس تعليم لغة الاسمبلي للعبد الفقير عفيف
وشكرا
تم تعديل هذه المشاركة بواسطة afeef في 7 أغسطس 2004 في 17:38
السلام عليكم ورحمة الله وبركاته .....
اخى afeef اشكر تعاونك معى ..
سوف اشاهد الدروس .. مشكوور مرة اخرى .
هذا الموضوع مغلق.