AppleIIAsm-Collection/source/d6_filesDOS/T.SUB.FPSTR.ASM
nathanriggs 9b12b6fd9b HOUSEKEEPING
- getting ready for major changes for 0.6.0.
- be sure to download the 0.5.0 release to ensure proper functionality, as these rountines will not work together in the SRC or BIN folder during the transition
- Beginning to significantly alter documentation
2019-12-17 17:19:24 -05:00

41 lines
1.2 KiB
NASM

*``````````````````````````````*
* FPSTR (NATHAN RIGGS) *
* *
* PRINTS THE SPECIFIED STRING *
* AT GIVEN LOCATION TO THE *
* FILE OPEN AND SET TO BE *
* WRITTEN. *
* *
* INPUT: *
* *
* WPAR1 = STRING ADDRESS PTR *
* *
* OUTPUT: *
* *
* .A = STRING LENGTH *
* *
* DESTROY: AXYNVBDIZCMS *
* ^^^^^ ^^^ *
* *
* CYCLES: 38+ *
* SIZE: 25 BYTES *
*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*
*
]SLEN EQU VARTAB ; STRING LENGTH
]ADDR EQU WPAR1 ; STRING ADDRESS POINTER
*
FPSTR
*
LDY #0 ; RESET INDEX
LDA (]ADDR),Y ; GET STRING LENGTH
STA ]SLEN ; STORE IN ]SLEN
:LP
INY ; INCREASE INDEX
LDA (]ADDR),Y ; GET CHARACTER
JSR FCOUT ; STORE IN FILE
CPY ]SLEN ; IF .Y != STRING LENGTH
BNE :LP ; THEN KEEP LOOPING
:EXIT
TYA ; STRING LENGTH TO .A
RTS