Prev: B073 Up: Map Next: B0A1
B081: Print String
PrintString B081 LD A,(HL) A=*HL.
PrintString_Loop B082 PUSH DE Stash DE and HL on the stack.
B083 PUSH HL
Create an offset in HL.
B084 LD L,A L=A.
B085 LD H,$00 H=00.
B087 ADD HL,HL HL*=08.
B088 ADD HL,HL
B089 ADD HL,HL
B08A LD BC,$E417 BC=Font.
B08D DEC B Decrease B by one.
B08E ADD HL,BC HL+=BC.
B08F LD B,$08 B=08.
PrintString_Copy B091 LD A,(HL) A=*HL.
B092 LD (DE),A Write A to *DE.
B093 INC HL Increment HL by one.
B094 INC D Increment D by one.
B095 DJNZ PrintString_Copy Decrease counter by one and loop back to PrintString_Copy until counter is zero.
B097 POP HL Restore HL and DE from the stack.
B098 POP DE
B099 INC DE Increment DE by one.
B09A INC HL Increment HL by one.
B09B LD A,(HL) A=*HL.
B09C BIT 7,A Return if bit 7 is set (the terminator).
B09E RET NZ
B09F JR PrintString_Loop Jump to PrintString_Loop.
Prev: B073 Up: Map Next: B0A1