helpa-0.4.6.0: HELPA - Heavenly Esoteric Little Portable Assembler to esoteric languages

Safe Haskell | None
Language | Haskell2010

HelVM.HelPA.Assemblers.Backend.WSA.ExtendInstruction

# Documentation

movi :: MonadExtendASM m => Immediate -> Register -> m () #

movr :: MonadExtendASM m => Register -> Register -> m () #

addr :: MonadExtendASM m => Register -> Register -> m () #

subr :: MonadExtendASM m => Register -> Register -> m () #

loadr :: MonadExtendASM m => Register -> Register -> m () #

storer :: MonadExtendASM m => Register -> Register -> m () #

putcr :: MonadExtendASM m => Register -> m () #

getc :: MonadExtendASM m => Register -> m () #

jeqrr :: MonadExtendASM m => Register -> Register -> Register -> m () #

jnerr :: MonadExtendASM m => Register -> Register -> Register -> m () #

jltrr :: MonadExtendASM m => Register -> Register -> Register -> m () #

jgtrr :: MonadExtendASM m => Register -> Register -> Register -> m () #

jlerr :: MonadExtendASM m => Register -> Register -> Register -> m () #

jgerr :: MonadExtendASM m => Register -> Register -> Register -> m () #

jmpr :: MonadExtendASM m => Register -> m () #

eqr :: MonadExtendASM m => Register -> Register -> m () #

ner :: MonadExtendASM m => Register -> Register -> m () #

ltr :: MonadExtendASM m => Register -> Register -> m () #

gtr :: MonadExtendASM m => Register -> Register -> m () #

ler :: MonadExtendASM m => Register -> Register -> m () #

ger :: MonadExtendASM m => Register -> Register -> m () #

movi1 :: MonadExtendASM m => Register -> m () #

movi0 :: MonadExtendASM m => Register -> m () #

store :: MonadExtendASM m => m () #

mark :: MonadExtendASM m => Identifier -> m () #

sub :: MonadExtendASM m => m () #

basic :: MonadExtendASM m => Instruction -> m () #

loadRegister :: MonadExtendASM m => Register -> m () #

storeRegister :: MonadExtendASM m => Register -> m () #

jumpRegister :: MonadExtendASM m => Register -> m () #

extend :: MonadExtendASM m => DSL Instruction -> m () #

type MonadExtendASM m = MonadDSL ExtendInstruction m #

data ExtendInstruction #

Constructors

Basic Instruction |
LoadRegister Register |
StoreRegister Register |
JumpRegister Register |

#### Instances

Instances details

EIR ExtendInstruction # |
Instance details

Defined in HelVM.HelPA.Assemblers.Frontend.EIR.DSL

Methods

movi :: MonadDSL ExtendInstruction m => Immediate -> Register -> m () #

movr :: MonadDSL ExtendInstruction m => Register -> Register -> m () #

addi :: MonadDSL ExtendInstruction m => Immediate -> Register -> m () #

addr :: MonadDSL ExtendInstruction m => Register -> Register -> m () #

subi :: MonadDSL ExtendInstruction m => Immediate -> Register -> m () #

subr :: MonadDSL ExtendInstruction m => Register -> Register -> m () #

loadi :: MonadDSL ExtendInstruction m => Immediate -> Register -> m () #

loadr :: MonadDSL ExtendInstruction m => Register -> Register -> m () #

storei :: MonadDSL ExtendInstruction m => Register -> Immediate -> m () #

storer :: MonadDSL ExtendInstruction m => Register -> Register -> m () #

putci :: MonadDSL ExtendInstruction m => Immediate -> m () #

putcr :: MonadDSL ExtendInstruction m => Register -> m () #

getc :: MonadDSL ExtendInstruction m => Register -> m () #

jeqii :: MonadDSL ExtendInstruction m => Immediate -> Immediate -> Register -> m () #

jeqir :: MonadDSL ExtendInstruction m => Immediate -> Register -> Register -> m () #

jeqri :: MonadDSL ExtendInstruction m => Register -> Immediate -> Register -> m () #

jeqrr :: MonadDSL ExtendInstruction m => Register -> Register -> Register -> m () #

jneii :: MonadDSL ExtendInstruction m => Immediate -> Immediate -> Register -> m () #

jneir :: MonadDSL ExtendInstruction m => Immediate -> Register -> Register -> m () #

jneri :: MonadDSL ExtendInstruction m => Register -> Immediate -> Register -> m () #

jnerr :: MonadDSL ExtendInstruction m => Register -> Register -> Register -> m () #

jltii :: MonadDSL ExtendInstruction m => Immediate -> Immediate -> Register -> m () #

jltir :: MonadDSL ExtendInstruction m => Immediate -> Register -> Register -> m () #

jltri :: MonadDSL ExtendInstruction m => Register -> Immediate -> Register -> m () #

jltrr :: MonadDSL ExtendInstruction m => Register -> Register -> Register -> m () #

jgtii :: MonadDSL ExtendInstruction m => Immediate -> Immediate -> Register -> m () #

jgtir :: MonadDSL ExtendInstruction m => Immediate -> Register -> Register -> m () #

jgtri :: MonadDSL ExtendInstruction m => Register -> Immediate -> Register -> m () #

jgtrr :: MonadDSL ExtendInstruction m => Register -> Register -> Register -> m () #

jleii :: MonadDSL ExtendInstruction m => Immediate -> Immediate -> Register -> m () #

jleir :: MonadDSL ExtendInstruction m => Immediate -> Register -> Register -> m () #

jleri :: MonadDSL ExtendInstruction m => Register -> Immediate -> Register -> m () #

jlerr :: MonadDSL ExtendInstruction m => Register -> Register -> Register -> m () #

jgeii :: MonadDSL ExtendInstruction m => Immediate -> Immediate -> Register -> m () #

jgeir :: MonadDSL ExtendInstruction m => Immediate -> Register -> Register -> m () #

jgeri :: MonadDSL ExtendInstruction m => Register -> Immediate -> Register -> m () #

jgerr :: MonadDSL ExtendInstruction m => Register -> Register -> Register -> m () #

jmpi :: MonadDSL ExtendInstruction m => Immediate -> m () #

jmpr :: MonadDSL ExtendInstruction m => Register -> m () #

eqi :: MonadDSL ExtendInstruction m => Immediate -> Register -> m () #

eqr :: MonadDSL ExtendInstruction m => Register -> Register -> m () #

nei :: MonadDSL ExtendInstruction m => Immediate -> Register -> m () #

ner :: MonadDSL ExtendInstruction m => Register -> Register -> m () #

lti :: MonadDSL ExtendInstruction m => Immediate -> Register -> m () #

ltr :: MonadDSL ExtendInstruction m => Register -> Register -> m () #

gti :: MonadDSL ExtendInstruction m => Immediate -> Register -> m () #

gtr :: MonadDSL ExtendInstruction m => Register -> Register -> m () #

lei :: MonadDSL ExtendInstruction m => Immediate -> Register -> m () #

ler :: MonadDSL ExtendInstruction m => Register -> Register -> m () #

gei :: MonadDSL ExtendInstruction m => Immediate -> Register -> m () #

ger :: MonadDSL ExtendInstruction m => Register -> Register -> m () #