我尝试编写跟随代码,使用int 0x80打印数字5,但它不打印任何东西。
segment .bss
num1 resb 1
section .text
global _start
_start:
mov dword [num1],5
add [num1],byte '0'
mov ecx, dword [num1]
mov eax, 4
mov ebx, 1
mov edx, 1
int 0x80
mov eax, 1
int 0x80
答案 0 :(得分:1)
系统调用4期望ecx
包含指向以NUL结尾的字符串的指针。
因此,您应该使用mov ecx, dword [num1]
而不是mov ecx, num1
。