Assembly MIPS

Assembly MIPS

Diretivas do assembler

.data faz com que os itens abaixo se tornem dados guardados em variáveis;

.text torna todos os dados abaixo linhas de instruções;

Comandos li $v0

  • li $v0, 1 → imprime um inteiro
  • li $v0, 2 → imprime um float
  • li $v0, 3 → imprime um double
  • li $v0, 4 → imprime uma string ou caractere
  • li $v0, 5 → ler um inteiro
  • li $v0, 6 → ler um float
  • li $v0, 7 → ler um double
  • li$v0, 8 → ler uma string
  • li $v0, 10 → encerrar o programa principal

Estrutura básica de um programa

Objetivo: Imprimir “Olá mundo” na tela

	.data
mensagem: .asciiz "Olá mundo" #declaramos a nossa variavel

	.text
			li $v0, 4  #damos o comando de imprimir uma string
			la $a0, mensagem  #transferimos a string pro registrador $a0
			syscall #mandamos executar

Declaração de variáveis

Para declarar variaveis usamos a seguinte estrutura:

nome_variavel: .tipo_variavel valor

Para cada tipo de variavel usamos as seguintes designações:

.asciiz para strings(colocamos-as entre “”)

.byte para caráteres(colocamos-as entre “”)

.word para números inteiros

.float para números float

.double para doubles

Variáreis Inteiras

Declarar uma variavel para um inteiro:

.data
inteiro: .word 9

Impressão de um inteiro:

.data
int: .word 18
.text
	li $v0, 1
	lw$a0, int
	syscall

Leitura de um inteiro

li $v0, 5
syscall

#O valor lido vai para $v0 

li $v0, 1
move $a0, $v0
syscall

Operações com inteiros

  • Adição

Comentários

Postagens mais visitadas deste blog

Deploy a Honeypot in AWS using T-Pot

How to deploy a React.js app to GitHub pages