[A83] Re: rst 20h crap


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

[A83] Re: rst 20h crap




VTI Debugging:
TI-83 rom 1.07

0020: jp $1A77
0023: ld a,($913C)
0026: or a
0027: ret

1A77: ld de, OP1
1A7A: jr: $1A08

1A08: ldi
1A0A: ldi
1A0C: ldi
1A0E: ldi
1A10: ldi
1A12: ldi
1A14: ldi
1A16: ldi
1A18: ldi
1A1A: ret	

That's it, definately an error in loading the bytes at 0020h

--(Peter-Martijn)
> 
> 
> That should work, IF the shell you use supports immediate write-back. Because if it doesn't and then you check your program again, there would only be zeros. And then the ldir / ret you found is probably the the same ldir / ret as the one at the end of your program.
> 
> 
> > ----------------------------------------
> > From: The one and only SUCKER ... <sucker_pvn@hotmail.com>
> > Sent: Wed Aug 22 21:56:49 GMT+02:00 2001
> > To: <assembly-83@lists.ticalc.org>
> > Subject: [A83] Re: rst 20h crap
> > 
> > 
> > 
> > But, what about the EDB0C90000???
> > I came to this by doing:
> > 
> > ld hl,20h
> > ld de,data+4
> > ld bc,8
> > ldir
> > ret
> > 
> > data: .db 0,0,0,0,0,0,0,0,0,0,0,0
> > 
> > After executing this program, I just checked the bytes
> > after data:, and did some disassembling.
> > 
> >    SUCKER
> > 
> > 
> > >At 0020h there's a jp to _HLToOP1 (to the real routine, not the equate)
> > >Btw, this routine copies 9 bytes, not 8 as you said.
> > >
> > > >From: "The one and only SUCKER ..." <sucker_pvn@hotmail.com>
> > > >Reply-To: assembly-83@lists.ticalc.org
> > > >To: assembly-83@lists.ticalc.org
> > > >Subject: [A83] rst 20h crap
> > > >Date: Tue, 21 Aug 2001 20:41:07 +0000
> > > >
> > > >
> > > >I found out something weird. rst 20h (TI-83-) is the
> > > >same as op1=(hl). So far so good. And rst 20h is the
> > > >same as call 20h. The next rst is rst 28h, so there
> > > >are eight bytes with possible code which is executed
> > > >with rst 20h. At 20h there is: EDB0C90000... , which
> > > >is ldir/ret. If you follow so far, rst 20h should then
> > > >be the same as ldir and the same as op1=(hl).
> > > >But this is not!
> > > >
> > > >for ldir, bc is how many bytes, hl is from where to
> > > >copy to the addres in bc, so bc would have to be eight
> > > >(like eight bytes with possible code in rst 20h) and
> > > >de would point to op1 so that whenever you execute
> > > >ldir, everything would be set to that to copy the
> > > >following bytes at (hl) to op1.
> > > >
> > > >But no!!
> > > >
> > > >What the hell this is about????
> > > >If I think this way everything should match (like replacing stuff)
> > > >But have I made an error??
> > > >
> > > >Here a prmg that uses rst 20h:
> > > >
> > > >	ld hl,name
> > > >	rst 20h
> > > >	call _chkfindsym
> > > >	ret nc
> > > >	jp _getkey
> > > >;when the prgm AWELCOME exists, and is not protected
> > > >;Done is displayed, otherwise it waits for a key input.
> > > >
> > > >name: .db 5,"AWELCOME",0
> > > >
> > > >_________________________________________________________________
> > > >Get your FREE download of MSN Explorer at 
> > >http://explorer.msn.com/intl.asp
> > > >
> > > >
> > > >
> > >
> > >
> > >_________________________________________________________________
> > >Get your FREE download of MSN Explorer at http://explorer.msn.com/intl.asp
> > >
> > >
> > >
> > 
> > 
> > _________________________________________________________________
> > Get your FREE download of MSN Explorer at http://explorer.msn.com/intl.asp
> > 
> > 
> > 
> 
> -----------------------------------------------------
> Mail.be, Free WebMail and Virtual Office
> http://www.mail.be
> 
> 
> 





References: