| Copyright | (c) roki 2019 |
|---|---|
| License | MIT |
| Maintainer | falgon53@yahoo.co.jp |
| Stability | experimental |
| Portability | POSIX |
| Safe Haskell | Safe |
| Language | Haskell2010 |
Htcc.Asm.Intrinsic.Register
Description
Types and classes of the x86_64 registers
Synopsis
- class Show a => IsRegister a where
- data AccumulatorReg
- data BaseReg
- data CounterReg
- data DataReg
- data SrcIndexReg
- data DstIndexReg
- data BasePtrReg
- data StackPtrReg
- data ExtendedReg
- data Register
- rax :: Register
- eax :: Register
- ax :: Register
- ah :: Register
- al :: Register
- rbx :: Register
- ebx :: Register
- bx :: Register
- bh :: Register
- bl :: Register
- rcx :: Register
- ecx :: Register
- cx :: Register
- ch :: Register
- cl :: Register
- rdx :: Register
- edx :: Register
- dx :: Register
- dh :: Register
- dl :: Register
- rsi :: Register
- esi :: Register
- si :: Register
- sil :: Register
- rdi :: Register
- edi :: Register
- di :: Register
- dil :: Register
- rbp :: Register
- ebp :: Register
- bp :: Register
- bpl :: Register
- rsp :: Register
- esp :: Register
- sp :: Register
- spl :: Register
- rn :: Int -> Register
- rnd :: Int -> Register
- rnw :: Int -> Register
- rnb :: Int -> Register
- argRegs :: [[Register]]
- popRegs :: Int -> [Register]
Register class
class Show a => IsRegister a where Source #
The register type class
Instances
| IsRegister Register Source # | |
| IsRegister ExtendedReg Source # | |
Defined in Htcc.Asm.Intrinsic.Register Methods byteWidth :: ExtendedReg -> Natural Source # | |
| IsRegister StackPtrReg Source # | |
Defined in Htcc.Asm.Intrinsic.Register Methods byteWidth :: StackPtrReg -> Natural Source # | |
| IsRegister BasePtrReg Source # | |
Defined in Htcc.Asm.Intrinsic.Register Methods byteWidth :: BasePtrReg -> Natural Source # | |
| IsRegister DstIndexReg Source # | |
Defined in Htcc.Asm.Intrinsic.Register Methods byteWidth :: DstIndexReg -> Natural Source # | |
| IsRegister SrcIndexReg Source # | |
Defined in Htcc.Asm.Intrinsic.Register Methods byteWidth :: SrcIndexReg -> Natural Source # | |
| IsRegister DataReg Source # | |
| IsRegister CounterReg Source # | |
Defined in Htcc.Asm.Intrinsic.Register Methods byteWidth :: CounterReg -> Natural Source # | |
| IsRegister BaseReg Source # | |
| IsRegister AccumulatorReg Source # | |
Defined in Htcc.Asm.Intrinsic.Register Methods byteWidth :: AccumulatorReg -> Natural Source # | |
Registers data types
data AccumulatorReg Source #
The accumulator register.
Constructors
| RAX | Full 64 bits of register |
| EAX | Lower 32 bits of register |
| AX | Lower 16 bits of register |
| AH | Lower 8 bits of register |
| AL | Upper 8 bits of |
Instances
| Eq AccumulatorReg Source # | |
Defined in Htcc.Asm.Intrinsic.Register Methods (==) :: AccumulatorReg -> AccumulatorReg -> Bool # (/=) :: AccumulatorReg -> AccumulatorReg -> Bool # | |
| Ord AccumulatorReg Source # | |
Defined in Htcc.Asm.Intrinsic.Register Methods compare :: AccumulatorReg -> AccumulatorReg -> Ordering # (<) :: AccumulatorReg -> AccumulatorReg -> Bool # (<=) :: AccumulatorReg -> AccumulatorReg -> Bool # (>) :: AccumulatorReg -> AccumulatorReg -> Bool # (>=) :: AccumulatorReg -> AccumulatorReg -> Bool # max :: AccumulatorReg -> AccumulatorReg -> AccumulatorReg # min :: AccumulatorReg -> AccumulatorReg -> AccumulatorReg # | |
| Show AccumulatorReg Source # | |
Defined in Htcc.Asm.Intrinsic.Register Methods showsPrec :: Int -> AccumulatorReg -> ShowS # show :: AccumulatorReg -> String # showList :: [AccumulatorReg] -> ShowS # | |
| IsRegister AccumulatorReg Source # | |
Defined in Htcc.Asm.Intrinsic.Register Methods byteWidth :: AccumulatorReg -> Natural Source # | |
The Base register.
Constructors
| RBX | Full 64 bits of register |
| EBX | Lower 32 bits of register |
| BX | Lower 16 bits of register |
| BH | Lower 8 bit register |
| BL | Upper 8 bit register of |
data CounterReg Source #
The Counter register.
Constructors
| RCX | Full 64 bits of register |
| ECX | Lower 32 bits of register |
| CX | Lower 16 bits of register |
| CH | Lower 8 bit register |
| CL | Upper 8 bit register of |
Instances
| Eq CounterReg Source # | |
Defined in Htcc.Asm.Intrinsic.Register | |
| Ord CounterReg Source # | |
Defined in Htcc.Asm.Intrinsic.Register Methods compare :: CounterReg -> CounterReg -> Ordering # (<) :: CounterReg -> CounterReg -> Bool # (<=) :: CounterReg -> CounterReg -> Bool # (>) :: CounterReg -> CounterReg -> Bool # (>=) :: CounterReg -> CounterReg -> Bool # max :: CounterReg -> CounterReg -> CounterReg # min :: CounterReg -> CounterReg -> CounterReg # | |
| Show CounterReg Source # | |
Defined in Htcc.Asm.Intrinsic.Register Methods showsPrec :: Int -> CounterReg -> ShowS # show :: CounterReg -> String # showList :: [CounterReg] -> ShowS # | |
| IsRegister CounterReg Source # | |
Defined in Htcc.Asm.Intrinsic.Register Methods byteWidth :: CounterReg -> Natural Source # | |
The Data register.
Constructors
| RDX | Full 64 bits of register |
| EDX | Lower 32 bits of register |
| DX | Lower 16 bits of register |
| DH | Lower 8 bit register |
| DL | Upper 8 bit register of |
data SrcIndexReg Source #
The Source Index register.
Constructors
| RSI | Full 64 bits of register |
| ESI | Lower 32 bits of register |
| SI | Lower 16 bits of register |
| SIL | Lower 8 bits of register |
Instances
| Eq SrcIndexReg Source # | |
Defined in Htcc.Asm.Intrinsic.Register | |
| Ord SrcIndexReg Source # | |
Defined in Htcc.Asm.Intrinsic.Register Methods compare :: SrcIndexReg -> SrcIndexReg -> Ordering # (<) :: SrcIndexReg -> SrcIndexReg -> Bool # (<=) :: SrcIndexReg -> SrcIndexReg -> Bool # (>) :: SrcIndexReg -> SrcIndexReg -> Bool # (>=) :: SrcIndexReg -> SrcIndexReg -> Bool # max :: SrcIndexReg -> SrcIndexReg -> SrcIndexReg # min :: SrcIndexReg -> SrcIndexReg -> SrcIndexReg # | |
| Show SrcIndexReg Source # | |
Defined in Htcc.Asm.Intrinsic.Register Methods showsPrec :: Int -> SrcIndexReg -> ShowS # show :: SrcIndexReg -> String # showList :: [SrcIndexReg] -> ShowS # | |
| IsRegister SrcIndexReg Source # | |
Defined in Htcc.Asm.Intrinsic.Register Methods byteWidth :: SrcIndexReg -> Natural Source # | |
data DstIndexReg Source #
The Destination Index register.
Constructors
| RDI | Full 64 bits of register |
| EDI | Lower 32 bits of register |
| DI | Lower 16 bits of register |
| DIL | Lower 8 bits of register |
Instances
| Eq DstIndexReg Source # | |
Defined in Htcc.Asm.Intrinsic.Register | |
| Ord DstIndexReg Source # | |
Defined in Htcc.Asm.Intrinsic.Register Methods compare :: DstIndexReg -> DstIndexReg -> Ordering # (<) :: DstIndexReg -> DstIndexReg -> Bool # (<=) :: DstIndexReg -> DstIndexReg -> Bool # (>) :: DstIndexReg -> DstIndexReg -> Bool # (>=) :: DstIndexReg -> DstIndexReg -> Bool # max :: DstIndexReg -> DstIndexReg -> DstIndexReg # min :: DstIndexReg -> DstIndexReg -> DstIndexReg # | |
| Show DstIndexReg Source # | |
Defined in Htcc.Asm.Intrinsic.Register Methods showsPrec :: Int -> DstIndexReg -> ShowS # show :: DstIndexReg -> String # showList :: [DstIndexReg] -> ShowS # | |
| IsRegister DstIndexReg Source # | |
Defined in Htcc.Asm.Intrinsic.Register Methods byteWidth :: DstIndexReg -> Natural Source # | |
data BasePtrReg Source #
The Base Pointer register.
Constructors
| RBP | Full 64 bits of register |
| EBP | Lower 32 bits of register |
| BP | Lower 16 bits of register |
| BPL | Lower 8 bits of register |
Instances
| Eq BasePtrReg Source # | |
Defined in Htcc.Asm.Intrinsic.Register | |
| Ord BasePtrReg Source # | |
Defined in Htcc.Asm.Intrinsic.Register Methods compare :: BasePtrReg -> BasePtrReg -> Ordering # (<) :: BasePtrReg -> BasePtrReg -> Bool # (<=) :: BasePtrReg -> BasePtrReg -> Bool # (>) :: BasePtrReg -> BasePtrReg -> Bool # (>=) :: BasePtrReg -> BasePtrReg -> Bool # max :: BasePtrReg -> BasePtrReg -> BasePtrReg # min :: BasePtrReg -> BasePtrReg -> BasePtrReg # | |
| Show BasePtrReg Source # | |
Defined in Htcc.Asm.Intrinsic.Register Methods showsPrec :: Int -> BasePtrReg -> ShowS # show :: BasePtrReg -> String # showList :: [BasePtrReg] -> ShowS # | |
| IsRegister BasePtrReg Source # | |
Defined in Htcc.Asm.Intrinsic.Register Methods byteWidth :: BasePtrReg -> Natural Source # | |
data StackPtrReg Source #
The Stack Pointer register.
Constructors
| RSP | Full 64 bits of register |
| ESP | Lower 32 bits of register |
| SP | Lower 16 bits of register |
| SPL | Lower 8 bits of register |
Instances
| Eq StackPtrReg Source # | |
Defined in Htcc.Asm.Intrinsic.Register | |
| Ord StackPtrReg Source # | |
Defined in Htcc.Asm.Intrinsic.Register Methods compare :: StackPtrReg -> StackPtrReg -> Ordering # (<) :: StackPtrReg -> StackPtrReg -> Bool # (<=) :: StackPtrReg -> StackPtrReg -> Bool # (>) :: StackPtrReg -> StackPtrReg -> Bool # (>=) :: StackPtrReg -> StackPtrReg -> Bool # max :: StackPtrReg -> StackPtrReg -> StackPtrReg # min :: StackPtrReg -> StackPtrReg -> StackPtrReg # | |
| Show StackPtrReg Source # | |
Defined in Htcc.Asm.Intrinsic.Register Methods showsPrec :: Int -> StackPtrReg -> ShowS # show :: StackPtrReg -> String # showList :: [StackPtrReg] -> ShowS # | |
| IsRegister StackPtrReg Source # | |
Defined in Htcc.Asm.Intrinsic.Register Methods byteWidth :: StackPtrReg -> Natural Source # | |
data ExtendedReg Source #
The extended general-purpose register (r8-r15).
Constructors
| Rn Int | Full 64 bits of register |
| RnD Int | Lower 32 bits of register |
| RnW Int | Lower 16 bits of register |
| RnB Int | Lower 8 bits of register |
Instances
| Bounded ExtendedReg Source # | |
Defined in Htcc.Asm.Intrinsic.Register | |
| Eq ExtendedReg Source # | |
Defined in Htcc.Asm.Intrinsic.Register | |
| Ord ExtendedReg Source # | |
Defined in Htcc.Asm.Intrinsic.Register Methods compare :: ExtendedReg -> ExtendedReg -> Ordering # (<) :: ExtendedReg -> ExtendedReg -> Bool # (<=) :: ExtendedReg -> ExtendedReg -> Bool # (>) :: ExtendedReg -> ExtendedReg -> Bool # (>=) :: ExtendedReg -> ExtendedReg -> Bool # max :: ExtendedReg -> ExtendedReg -> ExtendedReg # min :: ExtendedReg -> ExtendedReg -> ExtendedReg # | |
| Show ExtendedReg Source # | |
Defined in Htcc.Asm.Intrinsic.Register Methods showsPrec :: Int -> ExtendedReg -> ShowS # show :: ExtendedReg -> String # showList :: [ExtendedReg] -> ShowS # | |
| IsRegister ExtendedReg Source # | |
Defined in Htcc.Asm.Intrinsic.Register Methods byteWidth :: ExtendedReg -> Natural Source # | |
The registers.
Constructors
| Accumulator AccumulatorReg | The accumulator |
| Base BaseReg | The base |
| Counter CounterReg | The conuter |
| Data DataReg | The data |
| SrcIndex SrcIndexReg | The source index |
| DstIndex DstIndexReg | The destination index |
| BasePtr BasePtrReg | The base pointer index |
| StackPtr StackPtrReg | The stack pointer index |
| Extended ExtendedReg | The extended general-purpose |