Skip to content

rafaelbclima/MIPSA

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MIPSA

Simple MIPS Assembler

Esse aplicativo foi desenvolvido para auxiliar as atividades da disciplina Lab. de Arquitetura de Sistemas Digitais, do curso de Engenharia Elétrica da Universidade Federal de Campina Grande - UFCG.

É um software assemblador que gera código de máquina para o processador MIPS desenvolvido por cada um dos alunos em Verilog/Systemverilog. Esses processadores têm 8 registradores de 8bits, 1kbyte de memória de instruções, 256bytes de memória de dados e uma ULA com 6 operações. Mais detalhes na seguinte playlist: https://youtube.com/playlist?list=PLKM6TRQ8YHKdxnB_G8raC3J1onhAeWJoA

As seguintes instruções são suportadas:

Instrução Descrição
ADD $X, $Y, $Z $X = $Y + $Z
SUB $X, $Y, $Z $X = $Y + ~$Z +1
AND $X, $Y, $Z $X = $Y & $Z
OR $X, $Y, $Z $X = $Y
NOR $X, $Y, $Z $X = ~($Y
XOR $X, $Y, $Z $X = $Y ^ $Z
SLT $X, $Y, $Z $X = 1 se $Y < $Z e 0 c.c.
SLL $X, $Y, shamt $X = $Y << shamt
SRL $X, $Y, shamt $X = $Y >> shamt
SRA $X, $Y, shamt $X = $Y >>> shamt
SLLv $X, $Y, $Z $X = $Y << $Z
SRLv $X, $Y, $Z $X = $Y >> $Z
SRAv $X, $Y, $Z $X = $Y >>> $Z
LW $X, i($Y) $X <= Cont. do end. ($Y+ i)
SW $X, i($Y) End. ($Y+ i) <= $X
BEQ $X, $Y, i Se $X == $Y, PC = PC + 1 + i
ADDi $X, $Y, i $X = $Y + i
ANDi $X, $Y, i $X = $Y & i
ORi $X, $Y, i $X = $Y
SLTi $X, $Y, i $X = 1 se $Y < i e 0 c.c.
J i PC = i
JAL i $7 = PC+1 e PC = i\n
NOP No operation

alt text