Assembly 计算偶数
所以我输入7,我应该只得到0246,我想通过cmp[num],num,但这不起作用。我曾想过使用mov-bl[num]cmp-al,bl,但这也不起作用Assembly 计算偶数,assembly,x86,nasm,Assembly,X86,Nasm,所以我输入7,我应该只得到0246,我想通过cmp[num],num,但这不起作用。我曾想过使用mov-bl[num]cmp-al,bl,但这也不起作用 section .data section .bss num resb 1 display resb 2 section .text global _start _start: mov eax, 3 mov ebx, 0 mov ecx, num mov e
section .data
section .bss
num resb 1
display resb 2
section .text
global _start
_start:
mov eax, 3
mov ebx, 0
mov ecx, num
mov edx, 1
print:
mov al, [num]
add al, '0'
mov [display], al
mov eax,4
mov ebx,1
mov ecx,display
mov edx,2
int 80h
inc byte [num]
inc byte [num]
cmp [num], byte 9
jng print
end:
mov eax,1
mov ebx,0
int 80h;
您在
print
之前缺少int80h
。您没有阅读任何内容。代码似乎还包含其他问题。例如,假设[num]
将<9,而实际上它可能在'0'..'9'
范围内(取决于您输入的内容)。并且只打印数字>=num,这与您的描述不同,您的描述中说要打印所有偶数<(或