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