Copyright | (c) Inokentiy Babushkin, 2016 |
---|---|
License | BSD3 |
Maintainer | Inokentiy Babushkin <inokentiy.babushkin@googlemail.com> |
Stability | experimental |
Safe Haskell | Safe |
Language | Haskell2010 |
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.
- data M68KReg
- = M68kRegInvalid
- | M68kRegD0
- | M68kRegD1
- | M68kRegD2
- | M68kRegD3
- | M68kRegD4
- | M68kRegD5
- | M68kRegD6
- | M68kRegD7
- | M68kRegA0
- | M68kRegA1
- | M68kRegA2
- | M68kRegA3
- | M68kRegA4
- | M68kRegA5
- | M68kRegA6
- | M68kRegA7
- | M68kRegFp0
- | M68kRegFp1
- | M68kRegFp2
- | M68kRegFp3
- | M68kRegFp4
- | M68kRegFp5
- | M68kRegFp6
- | M68kRegFp7
- | M68kRegPc
- | M68kRegSr
- | M68kRegCcr
- | M68kRegSfc
- | M68kRegDfc
- | M68kRegUsp
- | M68kRegVbr
- | M68kRegCacr
- | M68kRegCaar
- | M68kRegMsp
- | M68kRegIsp
- | M68kRegTc
- | M68kRegItt0
- | M68kRegItt1
- | M68kRegDtt0
- | M68kRegDtt1
- | M68kRegMmusr
- | M68kRegUrp
- | M68kRegSrp
- | M68kRegFpcr
- | M68kRegFpsr
- | M68kRegFpiar
- | M68kRegEnding
- data M68KAddressMode
- = M68kAmNone
- | M68kAmRegDirectData
- | M68kAmRegDirectAddr
- | M68kAmRegiAddr
- | M68kAmRegiAddrPostInc
- | M68kAmRegiAddrPreDec
- | M68kAmRegiAddrDisp
- | M68kAmAregiIndex8BitDisp
- | M68kAmAregiIndexBaseDisp
- | M68kAmMemiPostIndex
- | M68kAmMemiPreIndex
- | M68kAmPciDisp
- | M68kAmPciIndex8BitDisp
- | M68kAmPciIndexBaseDisp
- | M68kAmPcMemiPostIndex
- | M68kAmPcMemiPreIndex
- | M68kAmAbsoluteDataShort
- | M68kAmAbsoluteDataLong
- | M68kAmImmidiate
- data M68KOpType
- data M68KOpMemStruct = M68KOpMemStruct {}
- data CsM68KOpValue
- data CsM68KOp = CsM68KOp {}
- data M68KCpuSize
- data M68KFpuSize
- data M68KSizeType
- data M68KOpSize
- data CsM68K = CsM68K {
- operands :: [CsM68KOp]
- op_size :: M68KOpSize
- data M68KInsn
- = 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
- data M68KGroupType
Documentation
M68K registers
Constructors
data M68KAddressMode Source #
M68K addressing modes
Constructors
data M68KOpType Source #
M68K operand type
Constructors
M68kOpInvalid | |
M68kOpReg | |
M68kOpImm | |
M68kOpMem | |
M68kOpFpSingle | |
M68kOpFpDouble | |
M68kOpRegBits | |
M68kOpRegPair |
Instances
data M68KOpMemStruct Source #
memory access operands
associated with M68KOpMem
operand type
Constructors
M68KOpMemStruct | |
Fields
|
Instances
data CsM68KOpValue Source #
instruction operand value
Constructors
Imm Word64 | immediate value for |
Dimm Double | immediate double precision floating point value |
Simm Float | immediate single precision floating point value |
Reg M68KReg | register value for |
Mem M68KOpMemStruct | memory value for |
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 |
Instances
Constructors
CsM68KOp | |
Fields |
data M68KCpuSize Source #
operation size of a CPU instruction
Constructors
M68kCpuSizeNone | |
M68kCpuSizeByte | |
M68kCpuSizeWord | |
M68kCpuSizeLong |
Instances
data M68KSizeType Source #
size type of an instruction
Constructors
M68kSizeTypeInvalid | |
M68kSizeTypeCpu | |
M68kSizeTypeFpu |
Instances
data M68KOpSize Source #
operation size of an instruction (not it's own size)
Constructors
Cpu M68KCpuSize | |
Fpu M68KFpuSize | |
UnknownSize |
Instances
a M68K instruction and it's operands
Constructors
CsM68K | |
Fields
|
M68K instructions
Constructors
data M68KGroupType Source #
M68K instruction groups
Constructors
M68kGrpInvalid | |
M68kGrpJump | |
M68kGrpRet | |
M68kGrpIret | |
M68kGrpEnding |
Instances