bytepatch-0.4.0: src/Binrep/Type/Assembly.hs
module Binrep.Type.Assembly where
import GHC.Generics ( Generic )
import Data.Data ( Typeable, Data )
import Data.ByteString.Short ( ShortByteString )
import Data.ByteString ( ByteString )
import Data.Text.Short ( ShortText )
import Data.Aeson ( ToJSON, FromJSON )
import Binrep.Extra.HexByteString
import Binrep
data Arch
= ArmV8ThumbLE
deriving stock (Generic, Typeable, Data, Show, Eq)
newtype MachineInstr (arch :: Arch) = MachineInstr { getMachineInstr :: ShortByteString }
deriving stock (Generic, Typeable, Data)
deriving Show via (Hex ShortByteString)
newtype MachineCode (arch :: Arch) = MachineCode { getMachineCode :: ByteString }
deriving stock (Generic, Typeable, Data)
deriving Eq via ByteString
deriving Show via (Hex ByteString)
deriving (BLen, Put, Get) via ByteString
newtype AsmInstr (arch :: Arch) = AsmInstr { getAsmInstr :: ShortText }
deriving stock (Generic, Typeable, Data, Show, Eq)
deriving (ToJSON, FromJSON) via ShortText