RE: A83: > How to do INPUT <
[Prev][Next][Index][Thread]
RE: A83: > How to do INPUT <
This is extrememly similar to the way we do it w/the 86, but if you need
something a bit simpler, just to input text, I'd look at somehing like
PacMan source or Orzunoid source, using the high scr routine can help..
-Ahmed
--
Ahmed El-Helw
ahmedre@bellsouth.net
http://asm8x.home.ml.org
ICQ: 3350394
-----Original Message-----
From: owner-assembly-83@lists.ticalc.org
[mailto:owner-assembly-83@lists.ticalc.org]On Behalf Of Alan C Johnson
Sent: Sunday, July 26, 1998 10:22 PM
To: assembly-83@lists.ticalc.org
Subject: Re: A83: > How to do INPUT <
I'll be darned if I understand this. See below. Pardon my stupidness
On Fri, 24 Jul 1998 12:26:17 +0100 Linus Akesson <lairfight@softhome.net>
writes:
>
>Allright, I'll tell you... But if you use this in your programs, I
>would be
>very grateful if you mentioned my name (as a credit, greeting or
>whatever)
>because it wasn't the easiest thing to figure out...
>
>---
>
>Getting String Input
>==============================================================
> by Linus Akesson
>
>First of all, we put a prompt at 821ch. Max 16 chars.
>
> ld de,821ch ;put the prompt here
> ld hl,prompt
> ld bc,prompt_len ;length of prompt, max = 16
How can I set the legnth limit to 8 chars?
> ldir
>
>Then we call PGMIO_EXEC with the String Input command.
>
> ld a,0 ;code for STRING input
> ld (ASM_IND_CALL),a
>
> call PGMIO_EXEC ;defined in squish.inc
What the heck is this?
>
>Now OP1 contains the name of a temporary string variable. The string
>contains
>tokens, but if you're only interested in alphanumeric input that
>doesn't
>matter, because uppercase letters and digits are still ascii.
Where did it get the input?
>
>This routine is an example of how to display the string without
>checking for
>tokens line sin(.
>
> call _CHKFINDSYM
What is this for?
>
> ex de,hl ;hl is start of string data
> ld c,(hl)
> inc hl
> ld b,(hl)
> inc hl ;bc is length of string
>
> ld a,b
> or c ;length = 0 ?
> ret z ;return if so
>
>loop:
> push bc
> ld a,(hl) ;get a character
> call _putc
> pop bc
> dec bc
> ld a,b
> or c ;done yet?
> jr nz,loop ;no -> loop back
>
> call _newline
> ret
>
>And ofcourse:
>
>prompt: .db "Inp:",0
>prompt_len = $-prompt
>
>
>---
>
>Getting Numeric Input
>==============================================================
> by Linus Akesson
>
>This is done in about the same way. Start by putting the
>prompt at 821ch:
>
> ld de,821ch ;put the prompt here
> ld hl,prompt
> ld bc,prompt_len ;length of prompt, max = 16
> ldir
>
>Then call PGMIO_EXEC, but with a different command in ASM_IND_CALL:
>
> ld a,1 ;code for NUMERIC input
> ld (ASM_IND_CALL),a
>
> call PGMIO_EXEC
>
>The input is automatically parsed as an expression, and the result is
>placed
>in OP1.
>
> call _formDisp ;display it
> ret
>
>prompt: .db "Inp:",0
>prompt_len = $-prompt
>
>---
>
>Now go on and write a killer application,
>Linus
>
>
_____________________________________________________________________
You don't need to buy Internet access to use free Internet e-mail.
Get completely free e-mail from Juno at http://www.juno.com
Or call Juno at (800) 654-JUNO [654-5866]
References: