小编Hal*_*ude的帖子

NASM中的输出数据寄存器值

这里有新人,我已经有了一个问题.

我正在调整Jeff Duntemann的汇编书中使用的示例代码,我想打印出存储在数据寄存器中的整数值到终端?

下面的代码是什么,它打印出好的字符串,在ECX中推送值好,但是当它达到以下代码时:

                pop ecx
                mov eax,4                          
                mov ebx,1                          
                mov edx, ecx

                int 80h  
Run Code Online (Sandbox Code Playgroud)

它不会在终端上显示edx的内容,不过我认为我告诉它使用mov eax,4等.

有人能给我任何"指针"(双关语意)吗?

代码(自2012年6月17日起修订):

SECTION .data
    submessage: db "I am subtracting 5 from 10!", 10
    msglen: equ $-submessage

    ansmsg: db "Answer is:", 10
    msglen2: equ $-ansmsg
    EOL: db 10

SECTION .bss
    msg: resd 2                                         ; reserve space for 2 dwords

SECTION .text

global _start

_start: nop

;Displays test on shell
                    mov eax,4                           ;print to terminal     
                    mov ebx,1                                      
                    mov ecx, submessage
                    mov edx, msglen
                    int 80h …
Run Code Online (Sandbox Code Playgroud)

linux assembly nasm

5
推荐指数
1
解决办法
5726
查看次数

标签 统计

assembly ×1

linux ×1

nasm ×1