在nasm中的系统调用不起作用

时间:2017-03-21 06:15:04

标签: linux nasm

我尝试编写跟随代码,使用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

1 个答案:

答案 0 :(得分:1)

系统调用4期望ecx包含指向以NUL结尾的字符串的指针。

因此,您应该使用mov ecx, dword [num1]而不是mov ecx, num1