module Bindings.Bfd.Disasm.I386.Prefix where

import Bindings.Bfd.Disasm.I386.CondCode


data Prefix = Lock
            | Repeat {
                  condCode :: Maybe CondCode
              }
     deriving (Show)

toPrefix
   :: String
   -> Maybe Prefix
toPrefix s
   |        s == "lock" = Just   Lock
   | take 3 s == "rep"  = Just $ Repeat $ toCondCode $ drop 3 s
   | otherwise          = error $ "toPrefix: " ++ show s