| الخوارزم | 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
|
أنجز شفرة بإظهار ما يلي
|
|
