Fibonacci与汇编

时间:2012-12-02 22:09:03

标签: assembly x86

我尝试用汇编语言制作一个斐波那契数据生成器,使用一个单独的函数来显示二进制值(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

1 个答案:

答案 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