-
Notifications
You must be signed in to change notification settings - Fork 0
/
instructionSetInfo.txt
80 lines (74 loc) · 1.81 KB
/
instructionSetInfo.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
# Instruction set info
################ R-Type Format ################
# Instruction Format:
# [opcode] [rs] [rt] [rd] [func]
# [15:12] [11:9] [8:6] [5:3] [2:0]
#
# Assembly Format:
# add $rd, $rs, $rt
# slt $rd, $rs, $rt
#
# Examples:
# add $r1, $r2, $r3: $r1 = $r2 + $r3
# slt $r1, $r2, $r3: $r1 = ($r2 < $r3) ? 1 : 0
#
###############################################
################ I-Type Format ################
# Instruction Format:
# [opcode] [rs] [rt] [immediate]
# [15:12] [11:9] [8:6] [5:0]
#
# Assembly Format:
# addi $rt, $rs, immediate
# lw $rt, immediate($rs)
# beq $rt, $rs, immediate
# sll $rt, $rs, immediate
#
# Examples:
# addi $r1, $r2, 8: $r1 = $r2 + 8
# lw $r1, 4($r2): $r1 = M[$r2 + 4]
# beq $r1, $r2, LABEL: if($r1 == $r2) PC = PC + 4 + LABEL
# sll $r1, $r2, 8: $r1 = $r3 << 8
#
###############################################
################ J-Type Format ################
# Instruction Format:
# [opcode] [address]
# [15:12] [11:0]
#
# Assembly Format:
# j JumpAddr
#
# Examples:
# j LABEL: PC = LABEL
#
###############################################
################ Registers ################
$a0: 000 - 0
$a1: 001 - 1
$v0: 010 - 2
$v1: 011 - 3
$t0: 100 - 4
$t1: 101 - 5
$v2: 110 - 6
$v3: 111 - 7
###########################################
################ Opcodes ################
add - 0000(0) - 000 - R
sub - 0000(0) - 001 - R
and - 0000(0) - 010 - R
or - 0000(0) - 011 - R
xor - 0000(0) - 100 - R
slt - 0000(0) - 101 - R
slti - 0000(0) - 110 - I
addi - 0001(1) - XXX - I
subi - 0010(2) - XXX - I
andi - 0011(3) - XXX - I
ori - 0100(4) - XXX - I
lw - 0110(6) - XXX - I
sw - 0111(7) - XXX - I
sll - 1000(8) - XXX - I
srl - 1001(9) - XXX - I
j - 1010(A) - XXX - J
beq - 1011(B) - XXX - I
#########################################