nathanriggs 9f35f32f67 Revision 0.5.0
- massive overhaul of architecture
- first round of optimizations
- first draft of the technical manual for the entire library
- reorganization of directory structure
2019-09-27 16:57:34 -04:00

41 lines
1.2 KiB
Plaintext

*``````````````````````````````*
* 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