大会写到标准输出

时间:2013-02-27 20:09:00

标签: linux assembly x86

我正在尝试使用以下方法将4个字节写入屏幕:

nasm -f elf -g ****.asm

什么都没发生。

以下是相关的代码段:

mov     eax, 4             ; ow print error mesg
mov     ebx, 1
mov     ecx, DWORD [para]
mov     edx, 4
int     080h

这是我的代码部分的调试运行。没有打印任何内容,我通过gdb向您显示$ecx的内容。

253             mov     eax, 4             ; ow print error mesg
(gdb)
254             mov     ebx, 1
(gdb)
255             mov     ecx, DWORD [para]
(gdb)
256             mov     edx, 4
(gdb)
257             int     080h
(gdb) p /t $ecx
$1 = 1100001010101001000010110000010
(gdb) step

不知道我做错了什么。从此前和其他网站上的帖子中,我看不出与已接受的方法存在差异。

2 个答案:

答案 0 :(得分:3)

para的正常值是什么?

我有一个旧代码,我不使用DWORD 刚

mov     ecx, [para]

答案 1 :(得分:0)

ecx想要打印文本的地址。除非para是“指针”(保存文本的地址),否则只有mov ecx, para可能是正确的。严格来说,ebx可能想成为2(stderr),但我怀疑这是不是你的问题。向我们展示para