Print Inline Strings#

General Information

Author: Holger Picker pickerh@uni-muenster.de
Published: comp.sys.apple2.programmer

;****************************************
; 24-Jul-2000        StringWritePC
;
;        PC        = pointer to string
; ==>        A,X,Y        = saved
;
;****************************************

stringwritepc:        
                STA        strpc5+1;        save A
                PLA
                STA        strpc2+1;        pull return address
                PLA
                STA        strpc2+2
                BNE        strpc3;                jump always (should not be zero)

strpc2:                
                LDA        $ffff;                read characters from string
                BEQ        strpc4;                endmarker reached?
                JSR        cout;                print character
strpc3:                
                INC        strpc2+1;        increment address
                BNE        strpc2
                INC        strpc2+2
                BNE        strpc2;                jump always (should not become zero)

strpc4:                
                LDA        strpc2+2;        push address on stack
                PHA
                LDA        strpc2+1
                PHA
strpc5:
                LDA        #0;                restore A
                RTS