diff options
author | Nikita Orlov <nikitf-97@mail.ru> | 2021-04-03 22:28:49 +0300 |
---|---|---|
committer | Nikita Orlov <nikitf-97@mail.ru> | 2021-04-03 22:28:49 +0300 |
commit | 717a132ea55eb634eda375d59d73df826712cd8b (patch) | |
tree | 5f669aed99d8c74e3141e454bc6ac7a4c84beed7 /src/Machine.hs | |
parent | 3d4e47bb5a290c638d61ddf6dcfdf1101f6bebae (diff) | |
download | suem-717a132ea55eb634eda375d59d73df826712cd8b.tar suem-717a132ea55eb634eda375d59d73df826712cd8b.tar.xz suem-717a132ea55eb634eda375d59d73df826712cd8b.zip |
BSR and RTS added
Diffstat (limited to 'src/Machine.hs')
-rw-r--r-- | src/Machine.hs | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/Machine.hs b/src/Machine.hs index 1f0b6e5..91bcca0 100644 --- a/src/Machine.hs +++ b/src/Machine.hs @@ -312,14 +312,14 @@ setByte a b | a < 0x8 = return () -- TODO: only even addresses are allowed setWord :: Long -> Word -> Emulator () setWord a w = do - setByte a (fromIntegral (rem (fromIntegral w) 256)) - setByte (a + 1) (fromIntegral (div (fromIntegral w) 256)) + setByte a (fromIntegral (div (fromIntegral w) 256)) + setByte (a + 1) (fromIntegral (rem (fromIntegral w) 256)) -- TODO: only even addresses are allowed setLong :: Long -> Long -> Emulator () setLong a l = do - setWord a (fromIntegral (rem (fromIntegral l) 256 * 256)) - setWord (a + 2) (fromIntegral (div (fromIntegral l) 256 * 256)) + setWord a (fromIntegral (div (fromIntegral l) (256 * 256))) + setWord (a + 2) (fromIntegral (rem (fromIntegral l) (256 * 256))) getMemory :: Long -> Int -> Emulator Long |