aboutsummaryrefslogtreecommitdiff
path: root/main.go
diff options
context:
space:
mode:
authorDimitri Sokolyuk <ds@doozer.de>2017-05-24 11:50:45 +0200
committerDimitri Sokolyuk <ds@doozer.de>2017-05-24 11:50:45 +0200
commit35678cfb79644e37dfd0329aa060c755192092c1 (patch)
tree44578b5d573817c75468f840e8c4a6cb26a0c9bf /main.go
parente378948ee870b17d7463f301b3c9f3546d49de0a (diff)
Fix opcode
Diffstat (limited to 'main.go')
-rw-r--r--main.go6
1 files changed, 3 insertions, 3 deletions
diff --git a/main.go b/main.go
index 1f0bc0e..609cf86 100644
--- a/main.go
+++ b/main.go
@@ -57,7 +57,7 @@ func Decode(v uint16) string {
case v&(7<<13) == 1<<14:
return fmt.Sprintf("CALL %0.4X", v&0x1fff)
case v&(7<<13) == 3<<13:
- op := (v & 15 << 8) >> 8
+ op := (v >> 8) & 15
s := "ALU " + opcodes[op]
if v&(1<<12) != 0 {
s += " R→PC"
@@ -71,13 +71,13 @@ func Decode(v uint16) string {
if v&(1<<5) != 0 {
s += " N→[T]"
}
- switch expand(v & (3 << 2) >> 2) {
+ switch expand((v >> 2) & 3) {
case -1:
s += " rstack-"
case 1:
s += " rstack+"
}
- switch expand(v & (3 << 0) >> 0) {
+ switch expand(v & 3) {
case -1:
s += " dstack-"
case 1: