hapstone-0.2.0.1: Capstone bindings for Haskell

Copyright(c) Inokentiy Babushkin, 2016
LicenseBSD3
MaintainerInokentiy Babushkin <inokentiy.babushkin@googlemail.com>
Stabilityexperimental
Safe HaskellSafe
LanguageHaskell2010

Hapstone.Internal.M68K

Description

This module contains M68K specific datatypes and their respective Storable instances. Most of the types are used internally and can be looked up here. Some of them are currently unused, as the headers only define them as symbolic constants whose type is never used explicitly, which poses a problem for a memory-safe port to the Haskell language, this is about to get fixed in a future version.

Apart from that, because the module is generated using C2HS, some of the documentation is misplaced or rendered incorrectly, so if in doubt, read the source file.

Synopsis

Documentation

data M68KOpMemStruct Source #

memory access operands associated with M68KOpMem operand type

Constructors

M68KOpMemStruct 

Fields

data CsM68KOpValue Source #

instruction operand value

Constructors

Imm Word64

immediate value for M68KOpImm operand

Dimm Double

immediate double precision floating point value

Simm Float

immediate single precision floating point value

Reg M68KReg

register value for M68KOpReg operand

Mem M68KOpMemStruct

memory value for M68KOpMem operand

RegBits Word32

register bits for movemcas2etc (always in d0-d7, a0-a7, fp0-fp7 order)

RegPair M68KReg M68KReg

register pair in the same operand (upper 4 bits first, lower 4 bits second register)

Undefined

error value for M68KOpInvalid operand

data CsM68K Source #

a M68K instruction and it's operands

Constructors

CsM68K 

Fields

  • operands :: [CsM68KOp]

    operand list for this instruction, *MUST* have <= 8 elements, else you'll get a runtime error when you (implicitly) try to write it to memory via it's Storable instance

  • op_size :: M68KOpSize
     

data M68KInsn Source #

M68K instructions

Constructors

M68kInsInvalid 
M68kInsAbcd 
M68kInsAdd 
M68kInsAdda 
M68kInsAddi 
M68kInsAddq 
M68kInsAddx 
M68kInsAnd 
M68kInsAndi 
M68kInsAsl 
M68kInsAsr 
M68kInsBhs 
M68kInsBlo 
M68kInsBhi 
M68kInsBls 
M68kInsBcc 
M68kInsBcs 
M68kInsBne 
M68kInsBeq 
M68kInsBvc 
M68kInsBvs 
M68kInsBpl 
M68kInsBmi 
M68kInsBge 
M68kInsBlt 
M68kInsBgt 
M68kInsBle 
M68kInsBra 
M68kInsBsr 
M68kInsBchg 
M68kInsBclr 
M68kInsBset 
M68kInsBtst 
M68kInsBfchg 
M68kInsBfclr 
M68kInsBfexts 
M68kInsBfextu 
M68kInsBfffo 
M68kInsBfins 
M68kInsBfset 
M68kInsBftst 
M68kInsBkpt 
M68kInsCallm 
M68kInsCas 
M68kInsCas2 
M68kInsChk 
M68kInsChk2 
M68kInsClr 
M68kInsCmp 
M68kInsCmpa 
M68kInsCmpi 
M68kInsCmpm 
M68kInsCmp2 
M68kInsCinvl 
M68kInsCinvp 
M68kInsCinva 
M68kInsCpushl 
M68kInsCpushp 
M68kInsCpusha 
M68kInsDbt 
M68kInsDbf 
M68kInsDbhi 
M68kInsDbls 
M68kInsDbcc 
M68kInsDbcs 
M68kInsDbne 
M68kInsDbeq 
M68kInsDbvc 
M68kInsDbvs 
M68kInsDbpl 
M68kInsDbmi 
M68kInsDbge 
M68kInsDblt 
M68kInsDbgt 
M68kInsDble 
M68kInsDbra 
M68kInsDivs 
M68kInsDivsl 
M68kInsDivu 
M68kInsDivul 
M68kInsEor 
M68kInsEori 
M68kInsExg 
M68kInsExt 
M68kInsExtb 
M68kInsFabs 
M68kInsFsabs 
M68kInsFdabs 
M68kInsFacos 
M68kInsFadd 
M68kInsFsadd 
M68kInsFdadd 
M68kInsFasin 
M68kInsFatan 
M68kInsFatanh 
M68kInsFbf 
M68kInsFbeq 
M68kInsFbogt 
M68kInsFboge 
M68kInsFbolt 
M68kInsFbole 
M68kInsFbogl 
M68kInsFbor 
M68kInsFbun 
M68kInsFbueq 
M68kInsFbugt 
M68kInsFbuge 
M68kInsFbult 
M68kInsFbule 
M68kInsFbne 
M68kInsFbt 
M68kInsFbsf 
M68kInsFbseq 
M68kInsFbgt 
M68kInsFbge 
M68kInsFblt 
M68kInsFble 
M68kInsFbgl 
M68kInsFbgle 
M68kInsFbngle 
M68kInsFbngl 
M68kInsFbnle 
M68kInsFbnlt 
M68kInsFbnge 
M68kInsFbngt 
M68kInsFbsne 
M68kInsFbst 
M68kInsFcmp 
M68kInsFcos 
M68kInsFcosh 
M68kInsFdbf 
M68kInsFdbeq 
M68kInsFdbogt 
M68kInsFdboge 
M68kInsFdbolt 
M68kInsFdbole 
M68kInsFdbogl 
M68kInsFdbor 
M68kInsFdbun 
M68kInsFdbueq 
M68kInsFdbugt 
M68kInsFdbuge 
M68kInsFdbult 
M68kInsFdbule 
M68kInsFdbne 
M68kInsFdbt 
M68kInsFdbsf 
M68kInsFdbseq 
M68kInsFdbgt 
M68kInsFdbge 
M68kInsFdblt 
M68kInsFdble 
M68kInsFdbgl 
M68kInsFdbgle 
M68kInsFdbngle 
M68kInsFdbngl 
M68kInsFdbnle 
M68kInsFdbnlt 
M68kInsFdbnge 
M68kInsFdbngt 
M68kInsFdbsne 
M68kInsFdbst 
M68kInsFdiv 
M68kInsFsdiv 
M68kInsFddiv 
M68kInsFetox 
M68kInsFetoxm1 
M68kInsFgetexp 
M68kInsFgetman 
M68kInsFint 
M68kInsFintrz 
M68kInsFlog10 
M68kInsFlog2 
M68kInsFlogn 
M68kInsFlognp1 
M68kInsFmod 
M68kInsFmove 
M68kInsFsmove 
M68kInsFdmove 
M68kInsFmovecr 
M68kInsFmovem 
M68kInsFmul 
M68kInsFsmul 
M68kInsFdmul 
M68kInsFneg 
M68kInsFsneg 
M68kInsFdneg 
M68kInsFnop 
M68kInsFrem 
M68kInsFrestore 
M68kInsFsave 
M68kInsFscale 
M68kInsFsgldiv 
M68kInsFsglmul 
M68kInsFsin 
M68kInsFsincos 
M68kInsFsinh 
M68kInsFsqrt 
M68kInsFssqrt 
M68kInsFdsqrt 
M68kInsFsf 
M68kInsFsbeq 
M68kInsFsogt 
M68kInsFsoge 
M68kInsFsolt 
M68kInsFsole 
M68kInsFsogl 
M68kInsFsor 
M68kInsFsun 
M68kInsFsueq 
M68kInsFsugt 
M68kInsFsuge 
M68kInsFsult 
M68kInsFsule 
M68kInsFsne 
M68kInsFst 
M68kInsFssf 
M68kInsFsseq 
M68kInsFsgt 
M68kInsFsge 
M68kInsFslt 
M68kInsFsle 
M68kInsFsgl 
M68kInsFsgle 
M68kInsFsngle 
M68kInsFsngl 
M68kInsFsnle 
M68kInsFsnlt 
M68kInsFsnge 
M68kInsFsngt 
M68kInsFssne 
M68kInsFsst 
M68kInsFsub 
M68kInsFssub 
M68kInsFdsub 
M68kInsFtan 
M68kInsFtanh 
M68kInsFtentox 
M68kInsFtrapf 
M68kInsFtrapeq 
M68kInsFtrapogt 
M68kInsFtrapoge 
M68kInsFtrapolt 
M68kInsFtrapole 
M68kInsFtrapogl 
M68kInsFtrapor 
M68kInsFtrapun 
M68kInsFtrapueq 
M68kInsFtrapugt 
M68kInsFtrapuge 
M68kInsFtrapult 
M68kInsFtrapule 
M68kInsFtrapne 
M68kInsFtrapt 
M68kInsFtrapsf 
M68kInsFtrapseq 
M68kInsFtrapgt 
M68kInsFtrapge 
M68kInsFtraplt 
M68kInsFtraple 
M68kInsFtrapgl 
M68kInsFtrapgle 
M68kInsFtrapngle 
M68kInsFtrapngl 
M68kInsFtrapnle 
M68kInsFtrapnlt 
M68kInsFtrapnge 
M68kInsFtrapngt 
M68kInsFtrapsne 
M68kInsFtrapst 
M68kInsFtst 
M68kInsFtwotox 
M68kInsHalt 
M68kInsIllegal 
M68kInsJmp 
M68kInsJsr 
M68kInsLea 
M68kInsLink 
M68kInsLpstop 
M68kInsLsl 
M68kInsLsr 
M68kInsMove 
M68kInsMovea 
M68kInsMovec 
M68kInsMovem 
M68kInsMovep 
M68kInsMoveq 
M68kInsMoves 
M68kInsMove16 
M68kInsMuls 
M68kInsMulu 
M68kInsNbcd 
M68kInsNeg 
M68kInsNegx 
M68kInsNop 
M68kInsNot 
M68kInsOr 
M68kInsOri 
M68kInsPack 
M68kInsPea 
M68kInsPflush 
M68kInsPflusha 
M68kInsPflushan 
M68kInsPflushn 
M68kInsPloadr 
M68kInsPloadw 
M68kInsPlpar 
M68kInsPlpaw 
M68kInsPmove 
M68kInsPmovefd 
M68kInsPtestr 
M68kInsPtestw 
M68kInsPulse 
M68kInsRems 
M68kInsRemu 
M68kInsReset 
M68kInsRol 
M68kInsRor 
M68kInsRoxl 
M68kInsRoxr 
M68kInsRtd 
M68kInsRte 
M68kInsRtm 
M68kInsRtr 
M68kInsRts 
M68kInsSbcd 
M68kInsSt 
M68kInsSf 
M68kInsShi 
M68kInsSls 
M68kInsScc 
M68kInsShs 
M68kInsScs 
M68kInsSlo 
M68kInsSne 
M68kInsSeq 
M68kInsSvc 
M68kInsSvs 
M68kInsSpl 
M68kInsSmi 
M68kInsSge 
M68kInsSlt 
M68kInsSgt 
M68kInsSle 
M68kInsStop 
M68kInsSub 
M68kInsSuba 
M68kInsSubi 
M68kInsSubq 
M68kInsSubx 
M68kInsSwap 
M68kInsTas 
M68kInsTrap 
M68kInsTrapv 
M68kInsTrapt 
M68kInsTrapf 
M68kInsTraphi 
M68kInsTrapls 
M68kInsTrapcc 
M68kInsTraphs 
M68kInsTrapcs 
M68kInsTraplo 
M68kInsTrapne 
M68kInsTrapeq 
M68kInsTrapvc 
M68kInsTrapvs 
M68kInsTrappl 
M68kInsTrapmi 
M68kInsTrapge 
M68kInsTraplt 
M68kInsTrapgt 
M68kInsTraple 
M68kInsTst 
M68kInsUnlk 
M68kInsUnpk 
M68kInsEnding