From: Bernhard Urban Date: Sun, 31 Oct 2010 23:40:50 +0000 (+0100) Subject: 3a_asm: introducing @hi and @lo for immediate X-Git-Tag: bootrom_v1~205 X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=commitdiff_plain;h=d223b5d910df31c97400af3b3eb66cbc74ba7ac1;hp=0df70b557af4fd0550f0db2aa56fa3d89828d0a2;p=calu.git 3a_asm: introducing @hi and @lo for immediate --- 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