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: