الخوارزم | C | Pascal | Basic |
حرف صحيح قصير صحيح متوسط صحيح طويل حقيقي مضاعف |
char short int long float double |
char integer - - real double |
الخوارزم | المجمع NASM | عدد الأثمان | المجال الحقيقي | المجال الموجب |
حرف | DB | 1 | (27-1)....-27 | (28-1)....0 |
صحيح قصير | DW | 2 | (215-1)....-215 | (216-1)....0 |
صحيح متوسط | DD | 4 | (231-1)....-231 | (232-1)....0 |
صحيح طويل |
DQ |
8 |
(263-1)....-263 |
(264-1)....0 |
صحيح ممتد | DT | 10 | (279-1)....-279 | (280-1)....0 |
في Nasm |
في C |
|
car db 'c' |
تكافئ | char car = 'c'; |
msg1 db 'salam','$' | تكافئ | char msg1[6] = "salam"; |
nbr1 db 69 | تكافئ | char nbr1 = 69; |
entier dw 1000 | تكافئ | short entier = 1000; |
tab dd 10,20,30,40 | تكافئ | int tab[4] = {10,20,30,40}; |
ملاحظة : الكتابات التالية متكافئة
msg db 'salam',10,13,'$' | تكافئ
|
msg db 's' db 'a' db 'l' db 'am' db 10 db 13,'$' |
;NASM-IDE ASM Assistant Assembler Project File |
;NASM-IDE ASM Assistant Assembler Project File mov ah,0 ;انتظار المستعمل [SEGMENT .bss] ;Uninitialised data segment
|
1.2 التعريفات غير المهيأة
1.2.1 الأنواع
الخوارزم | المجمع NASM | عدد الأثمان | المجال الحقيقي | المجال الموجب |
حرف | resb | 1 | (27-1)....-27 | (28-1)....0 |
صحيح قصير | resw | 2 | (215-1)....-215 | (216-1)....0 |
صحيح متوسط | resd | 4 | (231-1)....-231 | (232-1)....0 |
صحيح طويل |
resq |
8 |
(263-1)....-263 |
(264-1)....0 |
صحيح ممتد | rest | 10 | (279-1)....-279 | (280-1)....0 |
1.2.2 الأمثلة
أمثلة للتعريف المهيأ.
في Nasm |
في C |
|
car resb 1 |
تكافئ | char car ; |
msg1 resb 20 | تكافئ | char msg1[20] ; |
nbr1 resb 69 | تكافئ | char nbr1[69]; |
entier resw 1 | تكافئ | short entier ; |
tab resd 100 | تكافئ | int tab[100] ; |
ملاحظة : الكتابات التالية متكافئة بعضها ببعض
msg resb 10 | msg resw 5 | msg resw 3 resw 2 |
msg resb 1 resb 2 resb 4 resb 1 resb 2 |
;NASM-IDE ASM Assistant Assembler Project File |
1.2.4 مثال تطبيقي
;NASM-IDE ASM Assistant Assembler Project File [SEGMENT .bss] ;Uninitialised data segment |
2 الثوابت
%define SIZE 100 ; SIZE = 100 تعني أن |
أين نضع الثوابت
;NASM-IDE ASM Assistant Assembler Project File |
3 الخاصية times في المجمع NASM
هذه الخاصية تفيد في تكرار أمر معين.
مثال: الكتابات التالية متكافئة:
msg db 'kkkkk' |
تكافئ |
msg times 5 db 'k' |
msg1 db 'hhhhhhhh','$' |
تكافئ |
msg1 times 8 db 'h' |
col db 'SalamSalamSalam','$' |
تكافئ |
col times 3 db 'Salam' |
int 10h |
تكافئ |
times 3 int 10h |
مثال تطبيقي:
;NASM-IDE ASM Assistant Assembler Project File mov ah,0eh |
تمارين تطبيقية
ملاحظة: استعمل المجمع NASM لحل التمارين التالية.
التمرين 5.1
أنجز شفرة تقوم بتعريف 3 متغيرات لـ 3 جمل :'ALLAH Akbar' و 'Besmi ALLAH' و 'Salam 3alaikom'.
أظهر هذه الجمل على الشاشة كما يلي : |
ALLAH Akbar Besmi ALLAH Salam 3alaikom |
التمرين 5.2
أنجز شفرة بإظهار ما يلي
|
|