From d223b5d910df31c97400af3b3eb66cbc74ba7ac1 Mon Sep 17 00:00:00 2001 From: Bernhard Urban Date: Mon, 1 Nov 2010 00:40:50 +0100 Subject: [PATCH] 3a_asm: introducing @hi and @lo for immediate --- 3a_asm/DT.hs | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/3a_asm/DT.hs b/3a_asm/DT.hs index 3b22543..60565bf 100644 --- a/3a_asm/DT.hs +++ b/3a_asm/DT.hs @@ -33,7 +33,16 @@ comma = char ',' mnem m = string m iLit :: Dict -> Parser Word32 -iLit (_,d) = expr d +iLit (_,d) = do + val <- expr d; + try (do { + string "@hi"; + return $ shiftR val 16 + }) <|> do { + string "@lo"; + return $ val .&. 0xffff + } <|> return val + iLit12 d = do i <- iLit d; return $ i .&. 0x0fff iLit15 d = do i <- iLit d; return $ i .&. 0xefff -- 2.25.1