Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Programa Assembly-Fibonacci, Notas de estudo de Informática

Programa em Assembly

Tipologia: Notas de estudo

2015
Em oferta
50 Pontos
Discount

Oferta por tempo limitado


Compartilhado em 25/09/2015

emerson-ribeiro-39
emerson-ribeiro-39 🇧🇷

4.9

(7)

4 documentos

1 / 2

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
1. Faça um programa em assembly que retorne o elemento na posição N de uma
sequência
de Fibonacci.
.data
esp: .asciiz " "
msg_1: .asciiz "Digite um número: "
msg_2: .asciiz "\n A "
msg_21: .asciiz " posição da Sequêcia Fibonacci é "
.text
# t0 = a, t1 = b, t2 = FIB, t3 = i, t4 = n, t5 = aux
li $t0,0 # t0 = a
li $t1,1 #t1 = b
li $t2,0 #t2 = FIB
li $t3,0 #t3 = i
la $a0,msg_1
li $v0,4
syscall
li $v0,5
syscall
move $t4,$v0
FOR: beq $t3, $t4, PRINT
li $t5,0 # t5 = aux
add $t5,$t5,$t0 # aux = aux + a
add $t5,$t5,$t1 # aux = aux + b
move $t2,$t5 # FIB = aux
move $t0,$t1 # a = b
move $t1,$t2 # b = FIB
addi $t3,$t3,1
j FOR
PRINT: la $a0,msg_2 # carregando os endereços da frase do msg para syscall
li $v0,4 # especifica o serviço de Exibição de String (Print Service)
syscall
move $a0,$t4 # carregando os endereços da frase do msg para syscall
li $v0,1 # especifica o serviço de Exibição de inteiro (Print Service)
syscall
pf2
Discount

Em oferta

Pré-visualização parcial do texto

Baixe Programa Assembly-Fibonacci e outras Notas de estudo em PDF para Informática, somente na Docsity!

1. Faça um programa em assembly que retorne o elemento na posição N de uma

sequência

de Fibonacci.

.data esp: .asciiz " " msg_1: .asciiz "Digite um número: " msg_2: .asciiz "\n A " msg_21: .asciiz " posição da Sequêcia Fibonacci é "

.text

t0 = a, t1 = b, t2 = FIB, t3 = i, t4 = n, t5 = aux

li $t0,0 # t0 = a li $t1,1 #t1 = b li $t2,0 #t2 = FIB li $t3,0 #t3 = i

la $a0,msg_ li $v0, syscall

li $v0, syscall move $t4,$v

FOR: beq $t3, $t4, PRINT li $t5,0 # t5 = aux add $t5,$t5,$t0 # aux = aux + a add $t5,$t5,$t1 # aux = aux + b move $t2,$t5 # FIB = aux move $t0,$t1 # a = b move $t1,$t2 # b = FIB addi $t3,$t3, j FOR PRINT: la $a0,msg_2 # carregando os endereços da frase do msg para syscall li $v0,4 # especifica o serviço de Exibição de String (Print Service) syscall

move $a0,$t4 # carregando os endereços da frase do msg para syscall li $v0,1 # especifica o serviço de Exibição de inteiro (Print Service) syscall

la $a0,msg_21 # carregando os endereços da frase do msg para syscall li $v0,4 # especifica o serviço de Exibição de String (Print Service) syscall

la $a0,esp # carregando os endereços da frase do msg para syscall li $v0,4 # especifica o serviço de Exibição de String (Print Service) syscall move $a0,$t0 # carregando os endereços da frase do msg para syscall li $v0,1 # especifica o serviço de Exibição de inteiros (Print Service) syscall