LZ: RE: string input help
[Prev][Next][Index][Thread]
LZ: RE: string input help
-
Subject: LZ: RE: string input help
-
From: Micah/Richard Brodsky <Micahbro@msn.com>
-
Date: Tue, 26 Nov 96 00:45:00 UT
-
In-Reply-To: <>
Put 'push HL' before all GET_KEY calls and 'pop HL' after. GET_KEY modifies
HL.
At least, I think....
--MZB
----------
From: owner-list-zshell@lists.ticalc.org on behalf of Nathan Adams
Sent: Sunday, November 24, 1996 9:09 PM
To: list-zshell@lists.ticalc.org
Subject: LZ: string input help
I've been trying to write a string input routine and have been having some
trouble. This is my first shot at zshell/asm. Here is the code that I am
working on:
For size purposes I'm going to change the code. Let's say I am writing a
program to input the letter t, store it and then print it out somewhere else
;beginning of "t" program
#include "TI-85.H"
.org 0
.db "Input String", 0
TextIn = $80DF ;address to store string of t's
Start:
ld hl,TextIn ;load hl with address of TextIn
CALL_(KeyLoop) ;Input t's
ld hl,TextIn ;load hl with address of TextIn
ld b,5 ;load b with number of t's to be displayed
CALL_(DispTxt) ;Display t's
Waitforkey: ;Wait for key to be pressed & return to zshell
call GET_KEY
cp 0
ret nz
jr Waitforkey
KeyLoop:
call GET_KEY ;get scancode of last key
cp $0B ;compare it with t key scancode
JUMP_Z(TKey) ;if they are equal goto TKey
cp $09 ;compare it with enter key
ret z ;return if equal
jr KeyLoop
TKey:
ld (hl),'t' ;load current address in hl with 't'
inc hl ;increment address in hl
ld a,'t'
ROM_CALL(M_CHARPUT) ;Output 't'
JUMP_(KeyLoop) ;jump back to keyloop to input more t's
DispTxt:
ld a,(hl) ;ld a with char in address in hl
ROM_CALL(M_CHARPUT) ;display it
inc hl ;increment address
djnz DispTxt ;jump to DispTxt if value in b is not 0
ret ;return if b is 0
.end
When I try to run a program similar to this I can't get the characters to
display correctly. What I would like to know is what is wrong with this,
how I can fix it and if there is a better way to input strings.
Any help would be greatly appreciated, I've been working on this for hours.
Nathan Adams