Re: A83: Re: A ROM call
[Prev][Next][Index][Thread]
Re: A83: Re: A ROM call
WHy did they make each RST memory area 8 bytes when they could
technically just jump to the ROM call and the ROM call would RET out of
the routine. THat would only take 3 bytes
>
>rst is read "restart", but that's a wry name. It performs a call to
>the
>specified address, but only addresses 0, 8, 16, 24, 32, 40 and 48 are
>allowed. The instruction is always 1 byte long, whereas call is 3
>bytes. It
>was mainly implemented so that interrupting devices could place an op
>code on
>the data bus easily (only 1 byte).
>
>What the rst:s do is of course dependent of the code placed in the
>very
>beginning of the rom. On the ti-83, this is:
>rst 0 Power-up (has to be; the processor starts at address 0000
>automatically)
>rst 8 call _OP1TOOP2 (copy OP1 to OP2)
>rst 16 call _FINDSYM (not chkfindsym, so only non-progs and
>non-lists)
>rst 24 call _PUSHREALO1 (push OP1 to the fps)
>rst 32 call _MOV9TOOP1 (move 9 bytes from hl to OP1)
>rst 40 call _FPMULT (OP1 * OP2 -> OP1)
>rst 48 call _FPADD (OP1 + OP2 -> OP1)
>
>Linus
>
>On 14-Oct-98, James Matthews wrote:
>
>>Woah, Linus you lost me there (not surprisingly :)...what's rst 16,
>and how
>>would you use it?
>
>>Thanks.
>
>>James Matthews (matthews@tkb.att.ne.jp)
>
>>ICQ: 7413754
>>http://home.att.ne.jp/gold/tomcat21/index.html
>>http://library.advanced.org/18242/
>
>>----------
>>> From: Linus Akesson <lairfight@softhome.net>
>>> To: Joe Wingbermuehle <assembly-83@lists.ticalc.org>
>>> Subject: Re: A83: Re: A ROM call
>>> Date: Thursday, October 15, 1998 7:20 AM
>>>
>>>
>>> Yep, 442ah = _CHKFINDSYM will do in both cases. When looking up a
>>> non-prog/non-list you can also use rst 16, which is a bit smaller.
>But
>>> there's one thing; never specify the type 6 when trying to find
>protected
>>> programs - always use 5.
>>>
>>> Linus
>>>
>>> On 14-Oct-98, Joe Wingbermuehle wrote:
>>>
>>> >$442A will work the same way as your second one I think.
>>> >input: op1->type,program (load something like 6,"PROGRAM",0 into
>op1)
>>> >output: hl->vat entry, de->program data (first 2 bytes are size)
>>>
>>> >Joe Wingbermuehle
>>> >http://www.usmo.com/~joewing/
>>>
>>> >-----Original Message-----
>>> >From: Evil Sam <evil_sam@hotmail.com>
>>> >To: assembly-83@lists.ticalc.org <assembly-83@lists.ticalc.org>
>>> >Date: Wednesday, October 14, 1998 3:14 PM
>>> >Subject: A83: A ROM call
>>>
>>>
>>> >>
>>> >> I need an 83 equivolent for either of these 82 ROM_CALLs for
>Plain
>>> >>Jump 83:
>>> >>
>>> >>---- CALL 20EB ---- Search for program by name
>>> >>------------------------------
>>> >>Searches the program VAT for a program. info in OP1.
>>> >>Result: HL = pointer to VAT entry
>>> >> DE = Pointer to data space
>>> >>
>>> >>---- CALL 213E ---- Serach for variable by token/name
>>> >>-----------------------
>>> >>Seraches VAT to find variable. infor in op1. works for all
>types.
>>> >>Result: HL = pointer to VAT entry
>>> >> DE = Pointer to data space
>>> >>
>>> >> Thank you,
>>> >> Sam
>>> >>
>>> >>______________________________________________________
>>> >>Get Your Private, Free Email at http://www.hotmail.com
>>> >>
>>>
>>>
>>>
>
>
>
___________________________________________________________________
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]
Follow-Ups: