pipe v1
[calu.git] / 3a_asm / DT.hs
index 713f1779c3f7d4840ef0a135419c093ffddf6312..d4ad4901ea6130abd1550fd430a923e1dd639a14 100644 (file)
@@ -50,7 +50,7 @@ iLit (_,d) = do
 
 iLit5  d = do i <- iLit d; return $ i .&. 0x001f
 iLit12 d = do i <- iLit d; return $ i .&. 0x0fff
-iLit15 d = do i <- iLit d; return $ i .&. 0xefff
+iLit15 d = do i <- iLit d; return $ i .&. 0x7fff
 iLit16 d = do i <- iLit d; return $ i .&. 0xffff
 
 imm4 :: Parser String
@@ -198,7 +198,7 @@ bform opcd typ s cond bp imm = pack [(cond,28),(opcd,23),(imm,7),(free,4),(typ,2
        where free = 0
 bform' opcd typ cond bp = bform opcd typ 0 cond bp 0
 
-sform opcd typ rd cond = pack [(cond,28),(opcd,23),(rd,19),(typ,17)]
+sform opcd typ cond rd = pack [(cond,28),(opcd,23),(rd,19),(typ,17)]
 
 brrform opcd typ cond ra = pack [(cond,28),(opcd,23),(ra,19),(typ,2)]