-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathnew_inst_format.txt
62 lines (46 loc) · 1.63 KB
/
new_inst_format.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
R-type
formato add:
op rd rs1 rs2 resto
0000000 00011 00001 00010 0000000000 ADD R3, R1, R2
formato mul:
op rd rs1 rs2 resto
0000010 00011 00001 00010 0000000000 MUL R3, R1, R2
M-type
formato ldw:
op rd rs1 offset
0010001 00001 00000 000000000000000 LDW R1, 0(R0)
formato stw:
op rd rs1
0010011 00011 00000 000000000001000 STW R3, 8(R0)
formato mov:
op rd rs1
0010100 00001 00010 000000000000000 mov R1, R2
B-type
formato beq:
op offsetHi rs1 rs2 offsetLo
0110000 11111 00000 00000 1111111100 BEQ R0,R0, 0 dir 0x10; queremos saltar a la posicion 0, y el procesador calcula la direccion haciendo PC + 4*Ext(inm) por eso ponemos fffC: 4*fffC+0010=0000
formato jump:
op offsetHi rs1 offsetM offsetLo
0110001 11111 00000 11111 1111111001 JUMP 0 dir 0x10; queremos saltar a la posicion 0, y el procesador calcula la direccion haciendo PC + 4*Ext(inm) por eso ponemos fffC: 4*fffA+0018=0000
I-type
formato li:
op rd offset
0001111 00001 00000000000000010000 LI R1, 16
LDW R1, 0(R0)
0010001 00001 00000 000000000000000 22100000
LDW R2, 4(R0)
0010001 00010 00000 000000000000100 22200004
ADD R3, R1, R2
0000000 00011 00001 00010 0000000000 00308800
STW R3, 8(R0)
0010011 00011 00000 000000000001000 26300008
MUL R3, R1, R2
0000010 00011 00001 00010 0000000000 04308800
MOV R1, R2
0010100 00001 00010 000000000000000 28110000
BEQ R0, R0, 0
0110000 11111 00000 00000 1111111001 61f003f9
BNE R0, R0, 0
0110010 11111 00000 00000 1111111001 65f003f9
JUMP 0
0110001 11111 00000 11111 1111111001 63f07ff9