frroossst / py_mips_debugger

A minimal MIPS python interpreter that allows for easy debugging and improved developer workflow
https://frroossst.github.io/py_mips_debugger/
GNU General Public License v3.0
0 stars 0 forks source link

Tracker for instructions implemented #30

Open frroossst opened 1 year ago

frroossst commented 1 year ago

Arithmetic

Instruction Status
add :heavy_check_mark:
sub :x:
addi :heavy_check_mark:
addu :x:
subu :x:
addiu :x:
mul :x:
div :x:
divu :x:

Floating point

NOTE: Only single point precision is supported due to the underlying Python implementation Instruction Status
add.s :x:
sub.s :x:
mul.s :x:
div.s :x:
abs.s :x:
neg.s :x:
l.s :x:
s.s :x:
mov.s :x:
mfc1 :x:
mtc1 :x:
cvt.s.w :x:
cvt.w.s :x:
c.eq.s :x:
c.le.s :x:
c.lt.s :x:
bc1f :x:
bc1t :x:

Logical

Instruction Status
and :x:
or :x:
andi :x:
or(i) :x:
sll :heavy_check_mark:
slr :heavy_check_mark:

Data Transfer

Instruction Status
lw :heavy_check_mark:
sw :heavy_check_mark:
lui :x:
la :heavy_check_mark:
li :heavy_check_mark:
mfhi :x:
mflo :x:
move :heavy_check_mark:

Conditional Branching

Instruction Status
beq :heavy_check_mark:
bne :heavy_check_mark:
bgt :heavy_check_mark:
bge :heavy_check_mark:
blt :heavy_check_mark:
ble :heavy_check_mark:
bnez :heavy_check_mark:
beqz :heavy_check_mark:
bgtz :heavy_check_mark:
bgez :heavy_check_mark:
bltz :heavy_check_mark:
blez :heavy_check_mark:

Comparison

Instruction Status
slt :x:
slti :x:

Unconditional Jump

Instruction Status
j :heavy_check_mark:
jal :heavy_check_mark:
jr :heavy_check_mark:

Syscall(s)

Code Operation Status
1 print int :heavy_check_mark:
2 print float :x:
3 print double :x:
4 print string :heavy_check_mark:
5 read int :heavy_check_mark:
6 read float :x:
7 read double :x:
8 read string :heavy_check_mark:
9 sbrk :x:
10 exit :heavy_check_mark:
11 print char :heavy_check_mark:
12 read char :heavy_check_mark:
17 exit2 :heavy_check_mark: