From 60bb62c78accd2509209a02d5af081b5aa36c269 Mon Sep 17 00:00:00 2001 From: Bernhard Urban Date: Mon, 2 Apr 2012 01:42:48 +0200 Subject: [PATCH] asm: `goto' has an word16 immediate --- JVM/Assembler.hs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/JVM/Assembler.hs b/JVM/Assembler.hs index 7ac59c6..10bfd17 100644 --- a/JVM/Assembler.hs +++ b/JVM/Assembler.hs @@ -242,7 +242,7 @@ data Instruction = | IF CMP -- ^ 153, 154, 155, 156, 157, 158 | IF_ICMP CMP Word16 -- ^ 159, 160, 161, 162, 163, 164 | IF_ACMP CMP Word16 -- ^ 165, 166 - | GOTO -- ^ 167 + | GOTO Word16 -- ^ 167 | JSR Word16 -- ^ 168 | RET -- ^ 169 | TABLESWITCH Word32 Word32 Word32 [Word32] -- ^ 170 @@ -480,7 +480,7 @@ instance BinaryState Integer Instruction where put (IF_ACMP C_NE x) = put1 166 x put (IF_ACMP c _) = fail $ "No such instruction: IF_ACMP " ++ show c put (IF_ICMP c x) = putByte (fromIntegral $ 159 + fromEnum c) >> put x - put GOTO = putByte 167 + put (GOTO x) = put1 167 x put (JSR x) = put1 168 x put RET = putByte 169 put (TABLESWITCH def low high offs) = do @@ -646,7 +646,7 @@ instance BinaryState Integer Instruction where 152 -> return $ DCMP C_GT 165 -> IF_ACMP C_EQ <$> get 166 -> IF_ACMP C_NE <$> get - 167 -> return GOTO + 167 -> GOTO <$> get 168 -> JSR <$> get 169 -> return RET 170 -> do -- 2.25.1