projects
/
calu.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
3a_asm: divide the computed address with four at br and call
[calu.git]
/
3a_asm
/
DT.hs
diff --git
a/3a_asm/DT.hs
b/3a_asm/DT.hs
index d4ad4901ea6130abd1550fd430a923e1dd639a14..562285ba8c2d621e1febecb46f81cb4876218ba0 100644
(file)
--- a/
3a_asm/DT.hs
+++ b/
3a_asm/DT.hs
@@
-34,7
+34,7
@@
mnem m = string m
iLabel :: Dict -> Parser Word32
-- TODO: save msb (=sign) correctly...
iLabel :: Dict -> Parser Word32
-- TODO: save msb (=sign) correctly...
-iLabel d@(aktadr,_) = do {i <- (iLit d); return $ (
i - aktadr
) .&. 0xffff}
+iLabel d@(aktadr,_) = do {i <- (iLit d); return $ (
(i - aktadr)`div`4
) .&. 0xffff}
iLit :: Dict -> Parser Word32
iLit (_,d) = do
iLit :: Dict -> Parser Word32
iLit (_,d) = do