bindings-bfd-1.2.0.0: src/Bindings/Bfd/Disasm/I386/CondCode.hs
module Bindings.Bfd.Disasm.I386.CondCode where
data CondCode = Above
| AboveOrEqual
| Below
| BelowOrEqual
| Equal
| Greater
| GreaterOrEqual
| Less
| LessOrEqual
| NotEqual
| NotSigned
| Parity
| NotParity
| Signed
deriving (Show)
toCondCode
:: String
-> Maybe CondCode
toCondCode "" = Nothing
toCondCode "a" = Just Above
toCondCode "ae" = Just AboveOrEqual
toCondCode "b" = Just Below
toCondCode "be" = Just BelowOrEqual
toCondCode "e" = Just Equal
toCondCode "g" = Just Greater
toCondCode "ge" = Just GreaterOrEqual
toCondCode "l" = Just Less
toCondCode "le" = Just LessOrEqual
toCondCode "ne" = Just NotEqual
toCondCode "ns" = Just NotSigned
toCondCode "nz" = Just NotEqual
toCondCode "p" = Just Parity
toCondCode "np" = Just NotParity
toCondCode "s" = Just Signed
toCondCode "z" = Just Equal
toCondCode s = error $ "toCondCode: " ++ show s