aboutsummaryrefslogtreecommitdiff
path: root/src/Machine.hs
diff options
context:
space:
mode:
authorNikita Orlov <nikitf-97@mail.ru>2021-04-03 01:06:22 +0300
committerNikita Orlov <nikitf-97@mail.ru>2021-04-03 01:06:22 +0300
commit7955eabdbea706519f000a85531c152fa07e6700 (patch)
tree90809b0e1d35fe2f5145cac127f503776a8ee9f0 /src/Machine.hs
parent1ab01adc8644f572d584332c07b2ce75f9aac657 (diff)
downloadsuem-7955eabdbea706519f000a85531c152fa07e6700.tar
suem-7955eabdbea706519f000a85531c152fa07e6700.tar.xz
suem-7955eabdbea706519f000a85531c152fa07e6700.zip
MOVE and BRA added
Diffstat (limited to 'src/Machine.hs')
-rw-r--r--src/Machine.hs13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/Machine.hs b/src/Machine.hs
index 443482c..b254f7e 100644
--- a/src/Machine.hs
+++ b/src/Machine.hs
@@ -417,3 +417,16 @@ getOp 7 4 s = do
skipOp s
let naddr = addr + if s == 1 then 1 else 0
return (getMemory naddr s, setMemory naddr s)
+
+-------------------------------------------------------------------------------
+-- Size converter
+
+getSize :: Int -> Int
+getSize 0 = 1
+getSize 1 = 2
+getSize 2 = 4
+
+getMoveSize :: Int -> Int
+getMoveSize 1 = 1
+getMoveSize 3 = 2
+getMoveSize 2 = 4