انا جديد في لغة الاسمبلي و كتبت برنامج يعرض الرقم 10 ، بس ما ادري وين المشكله في هذا البرنامج لأنه مايرضى يشتغل اذا سويتله كومبايل
مع العلم اني جربت بـــ MASM و WinAsm
.model small .data .code main proc MOV AH, 2 MOV DL, 10 INT 21h main endp end
انا جديد في لغة الاسمبلي و كتبت برنامج يعرض الرقم 10 ، بس ما ادري وين المشكله في هذا البرنامج لأنه مايرضى يشتغل اذا سويتله كومبايل
مع العلم اني جربت بـــ MASM و WinAsm
.model small .data .code main proc MOV AH, 2 MOV DL, 10 INT 21h main endp end
تم تعديل هذه المشاركة بواسطة UUNUU في 5 فبراير 2007 في 08:42
انت تكتب لـ 16بت, هناك اختلافات بسيطة
لو راجعت اي شفرة برنامج مكتوب لـ 16بت ستلاحظها.
.model small org 100h .code start: jmp main somedata db "something$" main proc MOV AH, 2 ; MOV DL, 10 <<< fault, assembly doesnt handle immediate dec values MOV DL, 31h INT 21h MOV DL, 30h INT 21h main endp end start
لم اختبره, الا اهتم باخطائي في 16بت باي حال :P
لكن انتبه الى مسالة هامة, لا اعلم ان كانت المقاطعة ستقوم بتحديث قيمة المؤشر الى المكان الحالي للمؤشر المضئ للكتابة (طبعا الذي يتحدد برقم الصفحة, السطر والعمود..) هناك مقاطعة لهذا الامر في حال لم تكن تفعل هذا.
ابحث في الارشيف, مقاطعات ralf brown
السلام عليكم
Do as I say, not as I do
We are Anonymous. We are Legion. We don't forgive. We don't forget
Xacker شكرا جزيلا ، طلب آخر اذا مافي كلافه ، ممكن تدلوني على اسمبلر لل16بت
آسف على الازعاج
هذا الموضوع مغلق.