bindings-bfd-0.2.0: src/Bindings/Bfd/Disasm/I386/Insn/Mnemonic.hs
module Bindings.Bfd.Disasm.I386.Insn.Mnemonic where
import Data.List
newtype Mnemonic = Mnemonic String
deriving (Show)
un
:: Mnemonic
-> String
un (Mnemonic s) = s
isCall
:: Mnemonic
-> Bool
isCall m = isPrefixOf "call" $ un m
isJump
:: Mnemonic
-> Bool
isJump m = isPrefixOf "jmp" $ un m
isBranch
:: Mnemonic
-> Bool
isBranch m = ((isPrefixOf "j" $ un m) && (not $ isPrefixOf "jmp" $ un m)) || (isPrefixOf "loop" $ un m)
isReturn
:: Mnemonic
-> Bool
isReturn m = isPrefixOf "ret" $ un m