这个NASM装配加法器有什么问题?

时间:2016-12-16 22:20:14

标签: assembly nasm

我最近开始进入组装,我一直在使用NASM,因为我可以轻松找到教程。由于它的困难,我决定通过制作一个程序来添加1和3以及输出4来开始非常小。我已经完成了它,我没有收到错误或警告消息,但它不会输出任何东西,除了SH-4.3 $。

segment .text
    global _start
_start:
    mov eax, '1'
    sub eax, '0'

    mov ecx, '3'
    sub ecx, '0'

    add ecx, eax
    add ecx, '0'

    mov edx, 1
    mov ebx, 1
    mov eax, 4
    int 0x80

    mov eax, 1
    int 0x80

1 个答案:

答案 0 :(得分:1)

将结果移动到变量中,然后显示变量:

section .data
    result : db ' ',10          ◄■■ VARIABLE
segment .text
    global _start
_start:
    mov eax, '1'
    sub eax, '0'

    mov ecx, '3'
    sub ecx, '0'

    add ecx, eax
    add ecx, '0'
    mov [result], cl          ◄■■ MOVE RESULT INTO THE VARIABLE.

    mov ecx, result           ◄■■ DISPLAY THIS VARIABLE.
    mov edx, 1
    mov ebx, 1
    mov eax, 4
    int 0x80

    mov eax, 1
    int 0x80    

您必须在ECX中存储变量的地址,而不是值本身。