bindings-bfd-1.2.0.0: src/Bindings/Bfd/Disasm/I386/EffectiveAddr.hs
module Bindings.Bfd.Disasm.I386.EffectiveAddr where
import Bindings.Bfd.Disasm.I386.Register
data EffectiveAddr = EA {
base :: Maybe Register
, index :: Maybe Register
, scale :: Int
}
| NoEA
deriving (Eq, Ord, Show)
registers
:: EffectiveAddr
-> [Register]
registers (EA (Just r1) Nothing _) = [r1]
registers (EA Nothing (Just r2) _) = [r2]
registers (EA (Just r1) (Just r2) _) = r1 : [r2]
registers x = error $ "EffectiveAddr.registers: " ++ show x