Re: A83: ROMcall reference [83]


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

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: