mirror of
https://github.com/nathanriggs/AppleIIAsm-Collection.git
synced 2025-02-23 16:29:03 +00:00
34 lines
1.1 KiB
NASM
34 lines
1.1 KiB
NASM
*
|
|
*``````````````````````````````*
|
|
* DPRINT (NATHAN RIGGS) *
|
|
* *
|
|
* INPUT: *
|
|
* *
|
|
* WPAR1 = STRING ADDRESS (2B) *
|
|
* *
|
|
* OUTPUT: *
|
|
* *
|
|
* PRINT A ZERO-TERMINATED *
|
|
* STRING AT A GIVEN ADDRESS. *
|
|
* *
|
|
* DESTROYS: NZCIDV *
|
|
* ^^^ ^ *
|
|
* *
|
|
* CYCLES: 112+ *
|
|
* SIZE: 13 BYTES *
|
|
*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*
|
|
*
|
|
]ADDR1 EQU ZPW1 ; INDIRECT ADDRESS IS PASSED HERE
|
|
*
|
|
DPRINT
|
|
*
|
|
LDY #$00 ; {3C2B} RESET COUNTER {NZ}
|
|
:LOOP
|
|
LDA (]ADDR1),Y ; {6C2B} GET NEXT CHARACTER IN STRING {NZ}
|
|
BEQ :EXIT ; {3C2B} IF CHAR = $00 THEN EXIT
|
|
JSR COUT1 ; {89C3B} OTHERWISE, PRINT CHAR {NZCV}
|
|
INY ; {2C1B} INCREAS COUNTER {NZ}
|
|
BNE :LOOP ; {3C2B} IF COUNTER < 256, LOOP
|
|
:EXIT
|
|
RTS ; {6C1B} RETURN TO CALLING ROUTINE
|