; TRS80_2-Page149.asm ; ; ************* DISPLAY MESSAGE AT LOCATION N ************* ; DISPLAYS MESSAGE AT GIVEN SCREEN LOCATION. ; TERMINATES ON NULL (ZERO). ; STARTING SCXREEN ADDRESS WOULD BE 3C00h THROUGH 3FFFh. ; ENTRY: (HL) = MESSAGE LOCATION. ; (BC) = SCREEN POSITION. ; ALL REGISTERS SAVED. ; ********************************************************* CCRSR: .EQU 3C00h ; ADDED FOR TESTING PURPOSES. LD SP, 0080h ; ADDED FOR TESTING PURPOSES. CALL DSPMES ; ADDED FOR TESTING PURPOSES. DSPMES: PUSH AF ; SAVE REGISTERS. PUSH BC PUSH HL DSP005: LD A, (HL) ; GET MESSAGE CHARACTER. OR A ; TEST FOR ZERO. JP Z, DSP010 ; RETURN IF DONE. LD (BC), A ; STORE CHARACTER. INC BC ; BUMP SCREEN POINTER. INC HL ; BUMP MESSAGE POINTER. LD (CCRSR), BC ; SAVE POINTER. JP DSP005 ; CONTINUE. DSP010: POP HL ; RESTORE REGISTERS. POP BC POP AF RET ; RETURN. .END