Write Assembly language program to computer fibonacci numbers. Also, indicate wh
ID: 3752829 • Letter: W
Question
Write Assembly language program to computer fibonacci numbers.
Also, indicate where n = 2 in the program and the largest n and Fn found by the program.
Write a program to compute the Fibonacci numbers. 1. Fo-0, F1-, and F FaFn-2. 2. Starting from n -2 . Computer F Check if Fn is still within the 32-bit integer (signed number) range of Rhody. Exit if overflow occurs, i.e. go to (6). 4. Print out n and Fn in one line on the Rhody text screen. 5. Increment n by one. Go to (3). 6. Print "END" to inform the termination of the programExplanation / Answer
.file 1 "" .section .mdebug.abi32 .previous .nan legacy .module fp=32 .module nooddspreg .abicalls .rdata .align 2 $LC0: .ascii "Enter the value of num " .align 2 $LC1: .ascii "%d " .align 2 $LC2: .ascii "First %d FIBONACCI numbers are ...
" .align 2 $LC3: .ascii "%d
" .text .align 2 .globl main .set nomips16 .set nomicromips .ent main .type main, @function main: .frame $fp,56,$31 # vars= 24, regs= 2/0, args= 16, gp= 8 .mask 0xc0000000,-4 .fmask 0x00000000,0 .set noreorder .cpload $25 .set nomacro addiu $sp,$sp,-56 sw $31,52($sp) sw $fp,48($sp) move $fp,$sp .cprestore 16 movz $31,$31,$0 sw $0,24($fp) li $2,1 # 0x1 sw $2,28($fp) sw $0,32($fp) lw $2,%got($LC0)($28) nop addiu $4,$2,%lo($LC0) lw $2,%call16(puts)($28) nop move $25,$2 .reloc 1f,R_MIPS_JALR,puts 1: jalr $25 nop lw $28,16($fp) addiu $2,$fp,40 move $5,$2 lw $2,%got($LC1)($28) nop addiu $4,$2,%lo($LC1) lw $2,%call16(__isoc99_scanf)($28) nop move $25,$2 .reloc 1f,R_MIPS_JALR,__isoc99_scanf 1: jalr $25 nop lw $28,16($fp) lw $2,40($fp) nop move $5,$2 lw $2,%got($LC2)($28) nop addiu $4,$2,%lo($LC2) lw $2,%call16(printf)($28) nop move $25,$2 .reloc 1f,R_MIPS_JALR,printf 1: jalr $25 nop lw $28,16($fp) lw $5,24($fp) lw $2,%got($LC3)($28) nop addiu $4,$2,%lo($LC3) lw $2,%call16(printf)($28) nop move $25,$2 .reloc 1f,R_MIPS_JALR,printf 1: jalr $25 nop lw $28,16($fp) lw $5,28($fp) lw $2,%got($LC3)($28) nop addiu $4,$2,%lo($LC3) lw $2,%call16(printf)($28) nop move $25,$2 .reloc 1f,R_MIPS_JALR,printf 1: jalr $25 nop lw $28,16($fp) li $2,2 # 0x2 sw $2,32($fp) b $L2 nop $L3: lw $3,24($fp) lw $2,28($fp) nop addu $2,$3,$2 sw $2,36($fp) lw $2,32($fp) nop addiu $2,$2,1 sw $2,32($fp) lw $5,36($fp) lw $2,%got($LC3)($28) nop addiu $4,$2,%lo($LC3) lw $2,%call16(printf)($28) nop move $25,$2 .reloc 1f,R_MIPS_JALR,printf 1: jalr $25 nop lw $28,16($fp) lw $2,28($fp) nop sw $2,24($fp) lw $2,36($fp) nop sw $2,28($fp) $L2: lw $2,40($fp) lw $3,32($fp) nop slt $2,$3,$2 bne $2,$0,$L3 nop nop move $sp,$fp lw $31,52($sp) lw $fp,48($sp) addiu $sp,$sp,56 j $31 nop .set macro .set reorder .end main .size main, .-main .ident "GCC: (Ubuntu 5.4.0-6ubuntu1~16.04.9) 5.4.0 20160609"
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.