为什么这个汇编代码汇编和链接很好,但在运行时显示段错误。在指示后发表评论,以说明我想做什么。
jmp short init
action:
pop esi
xor eax, eax
mov byte [esi+24], al ;null terminating the string.
mov dword [esi+25],24 ;length of the string
mov al,4 ;syscall write
mov ebx,1 ;standard out
lea ecx,[esi] ;<<---------- Unsure about this. probably load the address of the string to ecx
mov edx,[esi+25] ;<<-- load edx with string length
int 80h
init:
call action
db "what a pity! not working#LLLL"
我NASM
用来组装和ld
链接。该程序将在 64 位机器上运行,但我希望它与 32 位兼容。