Re: A86: Displaying text


[Prev][Next][Index][Thread]

Re: A86: Displaying text




In a message dated 8/24/99 10:42:56 PM Eastern Daylight Time, KidFedX@aol.com 
writes:

> What would be the best way to go about displaying multiple lines of text.
>  Something like: 
>  ld b,Text ;number of lines to display
>  show:
>      inc hl ;now points to line of text
>      call _puts ;shows text on screen
>      call _newline
>      djnz show ;if all lines have been disp go back
>      ret
>  Text:
>      .db 3,"Welcome to TI","This is just a test line","So is this one",0 ; 
3 
>  is the # of lines to be displayed
>  
>  Doing it that way just seems to run the 3 lines together.  If I put a 
>  terminator (0) at the end of everyline to be displayed would that increase 
>  the size of the program?
>  Thanks for your help.

there are multiple problems with this.  each line needs to have a 0 ending it 
so that _puts knows it has reached the end of the string.

this is more what you're looking for:

show:
    ld b,3
    ld hl,text
puts_loop:
    push bc             ;save counter
    call _puts
    call _newline
    pop bc              ;retrieve counter
    djnz puts_loop
    ret

text:
    .db "Welcome to TI",0
    .db "This is just a test line",0
    .db "So is this one",0