/
lookUpTable.txt
93 lines (87 loc) · 1.95 KB
/
lookUpTable.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
firstMIPSMemoryLocation 0x00400024
#R type
# default operand format order:
# rd,rs,rt
# permitted operand formats to override the order:
# rd - rs - rt - imm
r add 100000
r addu 100001
r and 100100
r sub 100010
r or 100101
r nor 100111
r xor 100110
r sll 000000 rd,rt,imm
r srl 000010 rd,rt,imm
r slt 101010
r sltu 101011
r sra 000011 rd,rt,imm
r jr 001000 rs
#I type
# default operand format order:
# rt,rs,imm
# permitted operand formats to override the order:
# rs - rt - imm - label
i slti 001010
i sltiu 001011
i beq 000100 rs,rt,label
i bne 000101 rs,rt,label
i addi 001000
i andi 001100
i ori 001101
i xori 001110
#memory
memory sw 101011
memory lw 100011
memory lh 100001
memory lhu 100101
memory sh 101001
memory lb 100000
memory lbu 100100
memory sb 101000
#j type
j j 000010
j jal 000011
#registers
register $zero 00000
#register $at 00001
register $v0 00010
register $v1 00011
register $a0 00100
register $a1 00101
register $a2 00110
register $a3 00111
register $t0 01000
register $t1 01001
register $t2 01010
register $t3 01011
register $t4 01100
register $t5 01101
register $t6 01110
register $t7 01111
register $s0 10000
register $s1 10001
register $s2 10010
register $s3 10011
register $s4 10100
register $s5 10101
register $s6 10110
register $s7 10111
register $t8 11000
register $t9 11001
register $k0 11010
register $k1 11011
register $gp 11100
register $sp 11101
register $fp 11110
register $ra 11111
#pseudo-likely
# you can define pseudo instructions here
# the format;
# pseudo [instruction name] [variable type]([variable name]),... {(the instruction that converted to);...}
# !!!WARNING!!!!
# the application does handle errors but NOT as good as other parts while ONLY parsing PSEUDO instructions
# so, if you did not define the pseudo instruction correctly
# or did not write the pseudo instruction correctly while trying to assemble it,
# applicatin will likely to crash
pseudo move register(register1),register(register2) {(addu register1, $zero, register2)}