注册 登录
编程论坛 汇编论坛

Linux汇编中把一个寄存器中的值打印到显示器上,用什么命令?

deanli 发布于 2007-12-28 09:52, 2167 次点击
Linux汇编中把一个寄存器中的值打印到显示器上,用什么命令?
下面是helloworld程序,但eax=4, int 80h似乎只能打印字符串。我想打印ebx寄存器中的内容,该怎么办?应该怎样修改代码?

===================================
section .data
    hello:     db 'Hello world!',10    ; 'Hello world!' plus a linefeed character
    helloLen:  equ $-hello             ; Length of the 'Hello world!' string
                                       ; (I'll explain soon)

section .text
    global _start

_start:
    mov eax,4            ; The system call for write (sys_write)
    mov ebx,1            ; File descriptor 1 - standard output
    mov ecx,hello        ; Put the offset of hello in ecx
    mov edx,helloLen     ; helloLen is a constant, so we don't need to say
                         ;  mov edx,[helloLen] to get it's actual value
    int 80h              ; Call the kernel

    mov eax,1            ; The system call for exit (sys_exit)
    mov ebx,0            ; Exit with return code of 0 (no error)
    int 80h
===========================================
0 回复
1