פקודות בסיסיות ב- assembler
במדריך זה אתאר מספר פקודות בסיסיות וחזובות ב- assembler הפקודות מתייחסות לשימוש במעבדי x86 32bit
מה תצטרך
- DEC
- MOVS
- ASM
- COMPUTERS
שלבים
- 1
שלב 1
פקודת MOVSX - העברת מחרוזת. פקודה זו מעבירה את המחרוזת שבכתובת הזכרון שמוכלת בתוך ה- register esi, לזכרון שבכתובת שנמצאת בתוך edi.
הפקודה כוללת את movs,movsb,movsw ו- movsl , כש- b זה לbyte בודד, w זה ל- word (שני בתים), ו- double word (ארבעה בתים)/
את הפקודה ניתן להריץ עם פרמטרים של מקור ויעד, שיכולים להיות רגיסטרים, immediates או זכרון. (היעד לא יכול להיות immediate)
לאחר הרצת הפקודה, לפי מצב ה-flag DF, שני הגיסטרים esi ו- edi יקודמו או יחוסרו ב- 1.
- 2
שלב 2
פקודת REP - חזרה על פקודות. פקודה זו גורמת לפקודה שאחריה לרוץ שוב ושוב עד שה- register ecx יגיע ל- 0, ובכל מחזור ריצה יחסר 1 מ- ecx.
-
- 3
שלב 3
פקודת LODSX - פקודה זאת טוענת מחרוזת לתוך ה- register EAX. המחרוזת נטענת מהכתובת המאוחסנת בתוך ה- register ESI. גם כאן ניתן להשתמש ב- LODSB,LODSW ו- LODSL. גם כאן תהיה החסרה או העלאה ב- 1 של ESI.
פקודה זו יכולה גם כן לעבוד עם REP
- 4
שלב 4
LEAL - טען את כתובת הזכרון האפקטיבית מהפרמטר לתוך esi. או לתוך הפרמטר השני.
- 5
שלב 5
DEC - להחסיר מהפרמטר הראשון 1, לדוגמא:
dec eax