;------------------------------------------------------------------ ; The First Program ; ; بعد الفاصلة المنقوطة يمكننا إدراج تعليقات لتوضيح الفكرة ; هذه التعليقات سيهملها المصرف لاحقا ;------------------------------------------------------------------ ; قطاع البيانات data16 segment public ; التصريح بقطاع البيانات Hello db 'Hello World!',13,10,'$'; متغير data16 ends ; ------------------------------------------------------------------ ; قطاع الكود code16 segment public ; التصريح بقطاع الكود assume cs:code16, ds:data16, ss:stack16 start16: ; تحضير قطاع البيانات mov ax, data16 ; ax = data16 mov ds, ax ; ds = ax ; طباعة نص على الشاشة mov dx, offset Hello; helloفرع الذاكرة الخاص بالجملة mov ah, 09h ; تسمح بطباعة النص على الشاشة 09h int 21h ; مقاطعة الدوس ; إنهاء البرنامج mov al, 00h ; ولا مشكلة mov ah, 4ch ; تسمح بمغادرة البرنامج 4ch int 21h ; مقاطعة الدوس code16 ends ; نهاية النص ; ------------------------------------------------------------------ ; قطاع المكدس stack16 segment stack db 200h dup (?) stack16 ends end start16 ; start16 نهاية البرنامج ; ------------------------------------------------------------------
قطاع البيانات :
ما معنى db , والأرقام التي تليها.
قطاع الكود :
أدائمًا يكون التحضير للكود بهذه الطريقة ؟
ما معنى Offset ؟
هل 09h & 4ch & 200h أوامر !!
