From ec384cf9084dfa2fe29b12867b14e76d93ce8ef2 Mon Sep 17 00:00:00 2001 From: Bernhard Urban Date: Mon, 1 Nov 2010 01:06:03 +0100 Subject: [PATCH] 3a_asm: relative jumps ooops, I removed that in 0df70b557af :/ --- 3a_asm/DT.hs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/3a_asm/DT.hs b/3a_asm/DT.hs index e2727b4..713f177 100644 --- a/3a_asm/DT.hs +++ b/3a_asm/DT.hs @@ -32,6 +32,10 @@ testins input = comma = char ',' mnem m = string m +iLabel :: Dict -> Parser Word32 +-- TODO: save msb (=sign) correctly... +iLabel d@(aktadr,_) = do {i <- (iLit d); return $ (i - aktadr) .&. 0xffff} + iLit :: Dict -> Parser Word32 iLit (_,d) = do val <- expr d; @@ -101,7 +105,7 @@ infixl 1 <%> infixl 1 <@> ins m form e = do {mnem m; form e} -csv0i_p dict f = f<$>condition<*>branchpred<*>(iLit dict) +csv0i_p dict f = f<$>condition<*>branchpred<*>(iLabel dict) csv0i_p' f = f<$>condition<*>branchpred csv1 f = f<$>condition<%>reg csv1_p f = f<$>condition<%>reg -- 2.25.1