У меня есть следующая программа и аргументы:
args: 0xbda42100,0xb98dd6a5,0xecded223
.intel_syntax noprefix
.bits 32
.global test
test:
push ebp
mov ebp,esp
mov eax,0xbc
xor al,al
mov ah,BYTE PTR [ebp+0x9] 00000000 00000000 10100100 00000000 :simple move
sal ax,0x10 00000000 00000000 00000000 00000000 :overflows so zeroes out
sub al,BYTE PTR [ebp+0xc] 00000000 00000000 00000000 01011010 :underflows so = 255 - val
add ah,BYTE PTR [ebp+0xd] 00000000 00000000 11010110 01011010 :simple mov
xor ax,WORD PTR [ebp+0x10] 00000000 00000000 01100001 10011000 :simple xor
Я пытался отследить регистр eax в реальном времени, но почему-то это неправильно.Может ли кто-нибудь указать на мою ошибку?