Skip to content

Commit 7d51ca6

Browse files
committed
implement ebreak
1 parent 4b5fd00 commit 7d51ca6

File tree

5 files changed

+18
-4
lines changed

5 files changed

+18
-4
lines changed

dist/webpage/assembler/instructions.json

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,12 @@
2727
"args": [],
2828
"code": 115
2929
},
30+
{
31+
"name": "ebreak",
32+
"type": "W",
33+
"args": [],
34+
"code": 4194388
35+
},
3036
{
3137
"name": "addi",
3238
"type": "I",
@@ -198,7 +204,7 @@
198204
"args": ["reg", "reg", "reg"]
199205
},
200206
{
201-
"name": "srl",
207+
"name": "sra",
202208
"type": "R",
203209
"opcode": 51,
204210
"funct3": 5,

dist/webpage/emulator/emulator.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/webpage/emulator/emulator.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/webpage/assembler/instructions.json

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,12 @@
2727
"args": [],
2828
"code": 115
2929
},
30+
{
31+
"name": "ebreak",
32+
"type": "W",
33+
"args": [],
34+
"code": 4194388
35+
},
3036
{
3137
"name": "addi",
3238
"type": "I",
@@ -198,7 +204,7 @@
198204
"args": ["reg", "reg", "reg"]
199205
},
200206
{
201-
"name": "srl",
207+
"name": "sra",
202208
"type": "R",
203209
"opcode": 51,
204210
"funct3": 5,

src/webpage/emulator/emulator.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -169,6 +169,8 @@ class Symstem {
169169
);
170170
}
171171
return true;
172+
} else if (inst.inst === 4194388) {
173+
return false;
172174
} else {
173175
throw new runTimeError(I18n.runTimeErrors.unknownInstruction((inst.inst & 0b1111111) + ""));
174176
}

0 commit comments

Comments
 (0)