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