Download - [ASM] fibonacci

Transcript
Page 1: [ASM] fibonacci

F:\My ASM CODE\[ASM] fibonacci.asm Thursday, March 31, 2011 9:42 AM

1 # Tinh so thu n trong day fibonnaci2 # By huahongquan20073 #-----------------------------------------------------------------------4 .data5 yeu_cau:6 .asciiz "Hay nhap 1 so n > 0 "7 nhap_sai:8 .asciiz "Ban nhap so sai yeu cau "9 output:10 .asciiz "Fib(n) = "11 .text12 main:13 la $a0,yeu_cau # Xuat ra dong yeu_cau14 addi $v0,$0,4 # PRINT STRING15 syscall16 17 addi $v0,$0,5 # READ INTEGER N18 syscall19 20 slt $t1,$v0,$021 beqz $t1,so_duong22 23 la $a0,nhap_sai # Xuat ra dong nhap_sai24 addi $v0,$0,4 # PRINT STRING25 syscall26 j exit27 28 so_duong:29 addi $a0,$v0,0 # $a0 = $v0 = n30 jal find_fib31 addi $t0,$v0,032 33 la $a0,output # Xuat ra dong output34 addi $v0,$0,4 # PRINT STRING35 syscall36 37 addi $a0,$t0,038 addi $v0,$0,1 # PRINT INTEGER39 syscall40 exit:41 addi $v0,$0,1042 syscall43 #-----------------------------------------------------------------------44 # FIND_FIB: TIM SO THU N TRONG DAY FIBONACCI, TA CO F1 = F2 = 145 # $t0 : Luu gia tri gan cuoi46 # $v0 : Luu gia tri cuoi cung tinh duoc47 #-----------------------------------------------------------------------48 find_fib:49 addi $v0,$0,1 # neu n = 1 hay n = 2 thi f(n) = 150 slti $t2,$a0,351 bnez $t2,done_fib52 53 addi $t0,$0,1 # Luu gia tri gan cuoi =154 Loop:55 add $t1,$t0,$v0 # Tinh gia tri ke tiep56 addi $t0,$v0,0 # Gia tri gan cuoi truoc duoc thay bang gia tri cuoi cua lan tinh

truoc57 addi $v0,$t1,0 # Gia tri vua tinh duoc luu vao "gia tri cuoi"

-1-

Page 2: [ASM] fibonacci

F:\My ASM CODE\[ASM] fibonacci.asm Thursday, March 31, 2011 9:42 AM

58 addi $a0,$a0,-1 # Giam tri so cua n xuong 159 60 slti $t2,$a0,3 # Neu n < 3 thi ket thuc vong lap61 bnez $t2,done_fib62 j Loop63 done_fib:64 jr $ra

-2-


Top Related