Practical session 12 Jump tables review questions jump
Practical session 12 Jump tables, review questions
jump. s section. data jt: str 0: str 1: str 2: str 3: section. text jumper: table label_1: dd dd label_1 label_2 db db "Got the number 0", 10, 0 "Got the number 1", 10, 0 "Out of bound", 10, 0 "num = %d", 10, 0 label_2: align global extern 16 jumper printf out_of: push mov pusha mov push call add cmp jb cmp ja shl jmp ebp, esp ebx, dword [ebp+8] ebx str 3 printf esp, 8 ebx, 0 out_of ebx , 1 out_of ebx, 2 dword [ebx+jt] end: ; Print num ; Check if num is in bounds ; num = num * 4 ; Jump according to address in push call add jmp str 0 printf esp, 4 end push call add jmp str 1 printf esp, 4 end push call add jmp str 2 printf esp, 4 end popa pop ret ebp
3 שאלה %macro print pusha mov mov int popa %endmacro section. rodata File: dd MJ: db a) mov print b) print : וכן נתונים בזכרון , הבאה macro נתונה הגדרת 3 eax, 4 ebx, %1 ecx, %2 edx, %3 0 x 80 ; write ; file descriptor ; address ; byte count 1 “Beat it”, 10, 0 : איזה מהשימושים הבאים במקרו יגרום לפעולה לא נכונה של התוכנית ebx, MJ c) print dword [File], MJ, 9 1, ebx, 9 1, MJ, 9 d) mov print edx, 9 1, MJ, edx
3 שאלה %macro print pusha mov mov int popa %endmacro section. rodata File: dd MJ: db a) mov print b) print : וכן נתונים בזכרון , הבאה macro נתונה הגדרת 3 eax, 4 ebx, %1 ecx, %2 edx, %3 0 x 80 ; write ; file descriptor ; address ; byte count 1 “Beat it”, 10, 0 : איזה מהשימושים הבאים במקרו יגרום לפעולה לא נכונה של התוכנית ebx, MJ c) print dword [File], MJ, 9 1, ebx, 9 1, MJ, 9 d) mov print edx, 9 1, MJ, edx
5 שאלה Gloat: shl ebx, 2 jmp [ebx+Tab] Tab: dd F 4 dd F 3 dd F 2 dd F 1: add ebx, 4 F 2: add ebx, 4 F 3: add ebx, 4 F 4: shr ebx, 2 ret ? (3 - ל 0 בין ebx )עבור ebx ברגיסטר Gloat מה תחזיר הפונקציה 2 כפול ebx ( ד ebx בחזקת 2 ( ג 2 בחזקת ebx ( ב 0 ( א
5 שאלה Gloat: shl ebx, 2 jmp [ebx+Tab] Tab: dd F 4 dd F 3 dd F 2 dd F 1: add ebx, 4 F 2: add ebx, 4 F 3: add ebx, 4 F 4: shr ebx, 2 ret ? (3 - ל 0 בין ebx )עבור ebx ברגיסטר Gloat מה תחזיר הפונקציה 2 כפול ebx ( ד ebx בחזקת 2 ( ג 2 בחזקת ebx ( ב 0 ( א
- Slides: 17