diff options
author | Nikita Orlov <nikitf-97@mail.ru> | 2021-04-02 15:34:54 +0300 |
---|---|---|
committer | Nikita Orlov <nikitf-97@mail.ru> | 2021-04-02 15:34:54 +0300 |
commit | a2d59f5e1aa353f29cc557a60646c7a37cb738f4 (patch) | |
tree | 24ccb63340923ca14865f4ef19334420e1e28ee7 /src/Commands.hs | |
parent | 0ecc75b1134d221f544653025150948f0ac2a743 (diff) | |
download | suem-a2d59f5e1aa353f29cc557a60646c7a37cb738f4.tar suem-a2d59f5e1aa353f29cc557a60646c7a37cb738f4.tar.xz suem-a2d59f5e1aa353f29cc557a60646c7a37cb738f4.zip |
Operand code update
Diffstat (limited to 'src/Commands.hs')
-rw-r--r-- | src/Commands.hs | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/src/Commands.hs b/src/Commands.hs index e12cfdf..ea0a50d 100644 --- a/src/Commands.hs +++ b/src/Commands.hs @@ -112,18 +112,18 @@ doTRAP _ = return () doLINK :: Int -> Emulator () doLINK a = do incPC - addr <- readA a - sp <- readA 7 - writeA 7 (sp-4) - setLong (sp-4) addr + addr <- readA a 4 + sp <- readA 7 4 + writeA 7 4 (sp - 4) + setLong (sp - 4) addr doUNLK :: Int -> Emulator () doUNLK a = do incPC - addr <- readA a + addr <- readA a 4 val <- getLong addr - writeA a val - writeA 7 (addr + 4) + writeA a 4 val + writeA 7 4 (addr + 4) doMOVEUSP :: Int -> Int -> Emulator () doMOVEUSP _ _ = return () |