Re: A83: ROMcall reference [83]


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

Re: A83: ROMcall reference [83]




> 002Bh - Sets the memory address described above to zero.
>
> ;;;; apparently it doesn't, the asm-code is:
...Yeah, it does :)  'sub a' will subtract A from A, thus making A zero.
It's a byte smaller than doing 'ld a,0'.  Most of the "hobby" programmers
use 'xor a' instead, but it TI's code, they usually use 'sub a'.  If you
were referring to the memory address, it is the same memory as the previous
call.  On the 83 they're both 913Ch (or so I gather from your pasted code),
on the 83 Plus they're both 9653h.

-Dan Englender

----- Original Message -----
From: "Henk Poley" <HPoley@DDS.nl>
To: <assembly-83@lists.ticalc.org>
Sent: Sunday, December 17, 2000 10:49 AM
Subject: Re: A83: ROMcall reference [83]


>
> 0023h - Checks whether or not address 9653 (on the 83 Plus, it's a
> different address on the 83) is zero or not.  That particular memory
> address holds the first letter of the variable that is acting as the
> current input buffer.  IE.  If you're running a program, it will be the
> first letter of the program name.  If you're on the homescreen, it will be
> 23h (the homescreen buffer program variable).  Keep in mind, this value is
> only initialized and used as such during the error context, and is used if
> you choose the "Goto" option.  If you're not in the error context, this
> value will be zero.
>
> 002Bh - Sets the memory address described above to zero.
>
> ;;;; apparently it doesn't, the asm-code is:
> ;;;; .db 97       ;sub a
> ;;;; .db 32,3C,91 ;ld (913Ch),a => ??(913C)??
> ;;;; .db C9       ;ret
>
> CpHLDE - This one is fairly well documented,  It's code is:
>     push    hl
>     or    a
>     sbc    hl,de
>     pop    hl
>     ret
> ...So the outputs are as expected by the above code.  Carry will be set if
> DE>HL and zero will be set if DE=HL.
>
> ;;;; Okay thanks alot
> ;;;; kinda simple though, it just substracts HL from DE,
> ;;;; and restores the previous HL again...
> ;;;; Oh and don't forget the resetting the flag with 'or a'...
>
> Hope this helps,
> -Dan Englender
>
> ;;;; Well it does :)
>
>




Follow-Ups: References: