我想要求任何人瞭解彙編代碼的幫助。我的問題是: 標籤L2之後的代碼很重要,它調用子程序函數。但在我看來,程序永遠不會到達標籤L2之後的代碼,因爲根據我的系統調用,讀取(在L1之後)總是讀取0,並且在將其與1比較之後,但零不會等於1,所以在我看來,程序永遠不會跳到L2。我想我一定是錯的。我真的很感謝所有幫助具有跳轉和系統調用讀取功能的彙編代碼(x86)
jmp L1
L2:
movzbl -0x11(%ebp), %eax
movsbl %al, %eax
mov %eax, (%esp)
call SUBROUTINE_FNC
<...>
L1:
mov $0x0, %ebx
lea -0x11(%ebp), %ecx
mov $0x1, %edx
mov $0x3, %eax
int $0x80
mov %eax, -0x10(%ebp)
cmpl $0x1, -0x10(%ebp)
je L2
我猜我們正在談論Linux系統調用,但您可能想要添加OS到標籤。 – 2013-05-13 06:41:52