Module Types.Helper

Helper functions to write AST programs.

Registers.

val r0 : reg
val r1 : reg
val r2 : reg
val r3 : reg
val r4 : reg
val r5 : reg
val r6 : reg
val r7 : reg
val r8 : reg
val r9 : reg
val r10 : reg
val r11 : reg
val r12 : reg
val r13 : reg
val r14 : reg
val r15 : reg
val r16 : reg
val r17 : reg
val r18 : reg
val r19 : reg
val r20 : reg
val r21 : reg
val r22 : reg
val r23 : reg
val r24 : reg
val r25 : reg
val r26 : reg
val r27 : reg
val r28 : reg
val r29 : reg
val r30 : reg
val r31 : reg

PASM instructions.

val li : reg -> int -> 'a asm_inst
val ld : reg -> reg -> int -> 'a asm_inst
val st : reg -> reg -> int -> 'a asm_inst
val add : reg -> reg -> reg -> 'a asm_inst
val addi : reg -> reg -> int -> 'a asm_inst
val sub : reg -> reg -> reg -> 'a asm_inst
val and' : reg -> reg -> reg -> 'a asm_inst
val not : reg -> reg -> 'a asm_inst
val sl : reg -> reg -> int -> 'a asm_inst
val sr : reg -> reg -> int -> 'a asm_inst
val beq : reg -> reg -> 'a -> 'a asm_inst
val blt : reg -> reg -> 'a -> 'a asm_inst
val jalr : reg -> reg -> int -> 'a asm_inst
val apc : reg -> int -> 'a asm_inst
val j : 'a -> 'a asm_inst
val label : 'a -> 'a asm_inst
val spin : 'a asm_inst

PISA instructions.

val ili : reg -> int -> isa_inst
val ild : reg -> reg -> int -> isa_inst
val ist : reg -> reg -> int -> isa_inst
val iadd : reg -> reg -> reg -> isa_inst
val iaddi : reg -> reg -> int -> isa_inst
val isub : reg -> reg -> reg -> isa_inst
val iand : reg -> reg -> reg -> isa_inst
val inot : reg -> reg -> isa_inst
val isl : reg -> reg -> int -> isa_inst
val isr : reg -> reg -> int -> isa_inst
val ibeq : reg -> reg -> int -> isa_inst
val iblt : reg -> reg -> int -> isa_inst
val ijalr : reg -> reg -> int -> isa_inst
val iapc : reg -> int -> isa_inst
val ij : int -> isa_inst