אסמבלי 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