我有以下程序和参数:
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寄存器,但不知何故。有人可以指出我的错误吗?