【发布时间】:2017-06-19 06:59:59
【问题描述】:
section .text
global _start
_start:
mov eax, 4
mov ebx, 1
mov edx, num
int 0x80
mov eax, 1
mov ebx, 0
int 0x80
section .data
num db 5
~
它编译得很好,但什么也没打印。谁能告诉我怎么回事?
【问题讨论】:
-
您需要将数字 5 转换为数字“5”。亲自查看:将
num db 5替换为num db "5"。当然,一般方法需要itoa等效项。 SO Doc 对此有所了解。 -
我必须像这样写?数字分贝“5”?
-
试试看会发生什么 :) 看一下 ASCII 表,虽然 ASCII 可能不是您的终端使用的字符集,但前 127 个字符在所有西方字符集中都是相同的。记住:你写的是字符串而不是数字。
-
我几乎已经尝试过了。但仍然没有打印任何内容。请你写正确的代码,因为我真的不明白你。谢谢。
-
查阅系统调用表以正确使用寄存器:)