我正在尝试使用以下方法将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
不知道我做错了什么。从此前和其他网站上的帖子中,我看不出与已接受的方法存在差异。
答案 0 :(得分:3)
para的正常值是什么?
我有一个旧代码,我不使用DWORD 刚
mov ecx, [para]
答案 1 :(得分:0)
ecx
想要打印文本的地址。除非para
是“指针”(保存文本的地址),否则只有mov ecx, para
可能是正确的。严格来说,ebx
可能想成为2(stderr),但我怀疑这是不是你的问题。向我们展示para
!