mirror of
https://github.com/gungwald/rnd.git
synced 2024-06-06 23:29:27 +00:00
72 lines
1.6 KiB
ArmAsm
72 lines
1.6 KiB
ArmAsm
********************************
|
|
* *
|
|
* MACROS *
|
|
* *
|
|
* AUTHOR: BILL CHATFIELD *
|
|
* LICENSE: GPL2 *
|
|
* *
|
|
********************************
|
|
|
|
PUSHY .MACRO
|
|
TYA
|
|
PHA
|
|
.ENDM
|
|
|
|
POPY .MACRO
|
|
PLA
|
|
TAY
|
|
.ENDM
|
|
|
|
PUSHXY .MACRO
|
|
TXA
|
|
PHA
|
|
TYA
|
|
PHA
|
|
.ENDM
|
|
|
|
POPXY .MACRO
|
|
PLA
|
|
TAY
|
|
PLA
|
|
TAX
|
|
.ENDM
|
|
|
|
********************************
|
|
* *
|
|
* PUTS .MACRORO - OUTPUTS STRING *
|
|
* ]1 = ADDRESS OF NULL- *
|
|
* TERMINATED STRING *
|
|
* *
|
|
********************************
|
|
|
|
PUTS .MACRO
|
|
PUSHY
|
|
LDY #0 ; PREPARE LOOP INDEX
|
|
NEXT LDA \0,Y ; LOAD A CHARACTER
|
|
CMP #0 ; CHECK FOR END OF STRING
|
|
BEQ DONE
|
|
ORA #%10000000 ; SET HIGH BIT FOR OUTPUT
|
|
JSR COUT
|
|
INY
|
|
JMP NEXT
|
|
DONE POPY
|
|
.ENDM
|
|
|
|
********************************
|
|
* *
|
|
* PUTF - *
|
|
* PRINTS FLOATING POINT NUMBER *
|
|
* IN FAC. DESTROYS VALUE IN *
|
|
* FAC. DON'T KNOW WHY. *
|
|
* *
|
|
* ]1 - ABS ADDR FOR STRING *
|
|
* *
|
|
********************************
|
|
|
|
PUTF .MACRO
|
|
JSR FOUT ;CONVERT FAC TO STRING
|
|
STA \0 ;STORE LOW BYTE OF STRING
|
|
STY \0+1 ;STORE HIGH BYTE OF STRING
|
|
PUTS (\0) ;PRINT STRING
|
|
.ENDM
|