Числа Фибоначчи в Assembler
Пример для версий
MIPS32
Эмулятор MARS. Вывод консоли MARS:
The Fibonacci numbers are:
1 1 2 3 5 8 13 21 34 55 89 144
-- program is finished running --
Программа выводит 15 чисел Фибоначчи. Количество чисел можно изменить в секции .data.
.data
space:.asciiz " "
head: .asciiz "The Fibonacci numbers are:\n"
fib: .word 0 : 15
size: .word 15
.text
main:
la $t0, fib
la $t5, size
lw $t5, 0($t5)
li $t2, 1
add.d $f0, $f2, $f4
sw $t2, 0($t0)
sw $t2, 4($t0)
addi $t1, $t5, -2
loop:
lw $t3, 0($t0)
lw $t4, 4($t0)
add $t2, $t3, $t4
sw $t2, 8($t0)
addi $t0, $t0, 4
addi $t1, $t1, -1
bgtz $t1, loop
la $a0, fib
move $a1, $t5
jal print
li $v0, 10
syscall
print:
add $t0, $zero, $a0
add $t1, $zero, $a1
la $a0, head
li $v0, 4
syscall
out:
lw $a0, 0($t0)
li $v0, 1
syscall
la $a0, space
li $v0, 4
syscall
addi $t0, $t0, 4
addi $t1, $t1, -1
bgtz $t1, out
jr $ra
Комментарии
]]>blog comments powered by Disqus
]]>