我尝试用汇编语言制作一个斐波那契数据生成器,使用一个单独的函数来显示二进制值(DispBinary),但看起来这些数字是6,30,120等。是否有错误与我用于imul的订单或者我是否已经切换了eax和ecx?
Main:
Call DispBinary ;display binary
Mov Ecx, 6
Mov Eax, 1
L1:
IMul Eax, Ecx
Call DispBinary
Loop L1
Xor Eax, Eax
答案 0 :(得分:0)
您可以使用此代码(rcx代表n,n = 5)
ExitProcess PROTO
.data
.code
main proc
mov rax,1
mov rbx,0
mov rcx,5
mov rdx,0
push rdx
L1:
mov rdx,rax
add rdx,rbx
push rdx
mov rax,rbx
mov rbx,rdx
dec rcx
cmp rcx,00h
jnz L1
nop
call ExitProcess
main endp
end