我最近开始进入组装,我一直在使用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
答案 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中存储变量的地址,而不是值本身。