2013-02-27 86 views
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 

這是我的我的代碼部分的調試運行。沒有任何內容正在打印,我通過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 

不知道我在做什麼錯。從以前的帖子和其他網站上,我看不出接受的方法存在差異。

回答

3

para的正常值是多少?

我有一箇舊的代碼,我不使用DWORD 只是

mov  ecx, [para] 
+0

謝謝,這樣做 – rcj 2013-02-27 21:33:29

+0

'para'是如何定義的?我認爲你只需要傳遞一個指針:'mov ecx,foo'和'foo'的定義如下,例如'foo db「etc」'對我來說工作正常。 – 2013-02-28 03:11:47

0

ecx希望文本的地址進行打印。除非para是一個「指針」(包含文本的地址),只是mov ecx, para可能是正確的。嚴格地說,ebx可能想成爲2(stderr),但我懷疑這是否是你的問題。告訴我們para

相關問題