7.7
5 Experimental features
5.1 Unsafe version of Instructions
(require x64asm/unsafe) | package: x64asm-lib |
This module provide unsafe version of instructions that skip argument dispatching and some checking.
Examples:
> (require x64asm/unsafe) > (:print-type mov:Eb-Gb) (-> Context (U Mref Reg) Reg Void)
5.2 Well-typed version of Instructions
(require x64asm/well-typed) | package: x64asm-lib |
This module provide more precisely typed version of instructions.
Examples:
> (require x64asm/well-typed) > (:print-type mov)
(case->
(-> Context (U GPR Mref) GPR Void)
(-> Context GPR (U GPR Mref) Void)
(-> Context GPR Seg Void)
(-> Context Mref Seg Void)
(-> Context Seg (U GPR Mref) Void)
(-> Context GPR Offset Void)
(-> Context Offset GPR Void)
(-> Context GPR Imm Void)
(-> Context (U GPR Mref) Imm Void))
Noted that these function no longer accept a keyword context argument, you must provide it explicitly.
5.3 Instructions that accept a list
(require x64asm/apply) | package: x64asm-lib |
Since apply cannot be used with keyword arguments in Type Racket,
this module provide another version of instructions that accept a list of operands.
Examples:
> (require x64asm/apply) > (:print-type mov) (-> Context (Listof Operand) Void)