אסמבלי x86/מקרו

אסמבלי x86











מקרועריכה

מקרו הוא כלי שימושי לחסכון בקוד. אם יש קטע קוד שחוזר על עצמו מספר פעמים אז אפשר להגדיר אותו במקרו ולקרוא לקטע קוד על ידי קריאה למקרו.

לדוגמה:

במקום לרשום:

mov al, 10
mov bl, 5
mul bl
mov al, 10
mov bl, 5
mul bl
mov al, 10
mov bl, 5
mul bl

נרשום:

macro m1
mov al, 10
mov bl, 5
mul bl
endm

ובקוד עצמו איפה שצריך לכתוב את הקטע קוד פשוט נקרא לו:

m1
m1
m1

ויש אפשרות לזמן למקרו משתנים. לדוגמה:

macro aa num1,num2,num3
mov al, num1
add al, num2
mov num3, al
endm

ויש עוד אפשרות לזמן אוגרים למקרו והוא מבצע על כל האוגרים פעולות אחד אחרי השני. לדוגמה:

<macro pushr r<ax,bx,cx,dx,si,di
push r
endm
<macro popr r<ax,bx,cx,dx,si,di
pop r
endm