1

我正在尝试使用以下方法将 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

这是我的那部分代码的调试运行。没有打印任何内容,我正在向您展示$ecxvia gdb 的内容。

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

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

4

2 回答 2

3

para 的正常值是多少?

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

mov     ecx, [para]
于 2013-02-27T21:22:41.137 回答
0

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

于 2013-02-27T21:26:37.780 回答