📄 testasm.asm
字号:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; THIS FILE IS USED TO TEST THE C FUNCTION CALL IN ASM FILES ;
; THE HEAD IS PLACED IN TESTASM.HD ;
; THE TAIL IS PLACED IN TESTASM.TL ;
; THIS PROGRAM IS DERIVED FROM THE EXAMPLE OF 'ADD' ;
; AND THE RESULT IS THE SAME ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
.mmregs
; HEAD
.INCLUDE "TESTASM.HD"
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; DATA SEGMENT ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
.DATA
.GLOBAL _R
_R .SPACE 32*16
.GLOBAL _X
_X .WORD 04000H, 02000H, 01000H, 00800H, 00400H, 00200H, 00100H, 00080H
.WORD 00040H, 00020H, 00010H, 00008H, 00004H, 00002H, 00001H, 00000H
.WORD 0FFFFH, 0FFFEH, 0FFFCH, 0FFF8H, 0FFF0H, 0FFE0H, 0FFC0H, 0FF80H
.WORD 0FF00H, 0FE00H, 0FC00H, 0F800H, 0F000H, 0E000H, 0C000H, 08000H
.GLOBAL _Y
_Y .WORD 02000H, 02000H, 02000H, 02000H, 02000H, 02000H, 02000H, 02000H
.WORD 02000H, 02000H, 02000H, 02000H, 02000H, 02000H, 02000H, 02000H
.WORD 02000H, 02000H, 02000H, 02000H, 02000H, 02000H, 02000H, 02000H
.WORD 02000H, 02000H, 02000H, 02000H, 02000H, 02000H, 02000H, 02000H
.GLOBAL _OFLAG
.BSS _OFLAG, 1
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; TEXT SEGMENT ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
.TEXT
INIT: LD #0, ARP
RSBX C16
RSBX CMPT
RSBX FRCT
STM #00280H, SP ; STACK POINTER
ST #0, *SP(03H)
ST #32, *SP(02H)
ST #_R, *SP(01H)
ST #_Y, *SP(00H)
LD #_X,A
.REF _add
CALL #_add
LD A, A
STL A, *(_OFLAG)
WAIT: B WAIT
; TAIL
.INCLUDE "TESTASM.TL"
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -