63 lines
1.3 KiB
NASM
63 lines
1.3 KiB
NASM
; hence standard lib
|
|
|
|
.requires "$lib/core.asm"
|
|
|
|
std:
|
|
.macro std_tclr
|
|
ts NULL
|
|
.endmacro
|
|
|
|
.macro std_rclr, lib_std_rclr_arg_0_reg
|
|
ts NULL
|
|
tlr lib_std_rclr_arg_0_reg
|
|
.endmacro
|
|
|
|
.macro std_alu, lib_std_alu_arg_0_op
|
|
ts lib_std_alu_arg_0_op
|
|
alu
|
|
.endmacro
|
|
|
|
.macro std_get, lib_std_get_arg_0_addr
|
|
ts lib_std_get_arg_0_addr
|
|
get
|
|
.endmacro
|
|
|
|
.macro std_set, lib_std_set_arg_0_addr
|
|
ts lib_std_set_arg_0_addr
|
|
set
|
|
.endmacro
|
|
|
|
.macro std_cp, lib_std_cp_arg_0_from, lib_std_cp_arg_1_to
|
|
tsr lib_std_cp_arg_0_from
|
|
tlr lib_std_cp_arg_1_to
|
|
.endmacro
|
|
|
|
.macro std_mv, lib_std_mv_arg_0_from, lib_std_cp_arg_1_to
|
|
tsr lib_std_cp_arg_0_from
|
|
tlr lib_std_cp_arg_1_to
|
|
.std_rclr lib_std_cp_arg_1_to
|
|
.endmacro
|
|
|
|
.macro std_rset, lib_std_init_arg_0_reg, lib_std_init_arg_1_val
|
|
ts lib_std_init_arg_1_val
|
|
tlr lib_std_init_arg_0_reg
|
|
.endmacro
|
|
|
|
.macro std_jump, lib_std_jump_arg_0_label
|
|
.std_rset CORE_REG_PC, lib_std_jump_arg_0_label
|
|
.endmacro
|
|
|
|
.macro std_cond_jump, lib_std_cond_jump_arg_0_label
|
|
ts lib_std_cond_jump_arg_0_label
|
|
tlrc CORE_REG_PC
|
|
.endmacro
|
|
|
|
.macro std_stop
|
|
.std_rset CORE_REG_PC, 0xffff
|
|
.endmacro
|
|
|
|
.macro std_inc, lib_std_inc_arg_0_reg
|
|
.std_rset lib_std_inc_arg_0_reg, 1
|
|
.std_alu CORE_ALU_ADD
|
|
.endmacro
|