Re: A86: link86.asm


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

Re: A86: link86.asm




Oh so thats why it crashes....if you have something in there that is not a 
pointer or points to a bad point in memory it crashes.  Oh so i think that 
will return to where that routine was called from.
Thanx

>When you make a call, the address to return after the
>call is stored in the stack... if you want it to
>return to the previous routine you do "pop hl" before
>the ret... try this code...
>
>routine1:
>  call _clrLCD
>  call _homeup
>  ld hl,str_routine1
>  call _puts
>  call _newline
>  call routine2
>  ld hl,str_routine1
>  call _puts
>  call _newline
>  ret
>routine2:
>  ld hl,str_routine2
>  call _puts
>  call _newline
>  call routine3
>  ld hl,str_routine2
>  call _puts
>  call _newline
>  ret
>routine3:
>  ld hl,str_routine3
>  call _puts
>  call _newline
>  pop hl            ;go back to routine1
>  ret
>
>str_routine1:
>  .db "In routine1",0
>str_routine2:
>  .db "In routine2",0
>str_routine3:
>  .db "In routine3",0
>
>The output for this code is this:
>In routine1
>In routine2
>In routine3
>In routine1
>
>
>--- Andrew T <ironman_294@hotmail.com> wrote:
> >
> > Ok there are three parts of these calls that i dont
> > undestand
> > On is after it has opend red or opend white it goes
> > and waits for
> > %00000011 wich is both active but i didn't see where
> > made active thus
> > wouldn't it just go forver?  Second I don't
> > understand both
> >
> > rbTest_ON:
> > ld a,(_OP1)
> > inc a
> > ld (_OP1),a
> > cp 255
> > ret nz
> > ;why is it poped?
> > pop hl  ;Back to the place you were before.	Gotta
> > love it!
> > xor a
> > ret
> >
> >
> > sbSendTest_ON:
> > ld a,%00111111
> > out (1),a
> > nop
> > nop
> > in a,(1)
> > bit 6,a
> > ret nz
> > ;same thing why was it poped?
> > pop hl
> > ; pop hl		; instead of returning, jump to
> > ; jp Quit		; some program exit code
> > ret
> >
> >
> >
> >
>______________________________________________________
> > Get Your Private, Free Email at
> > http://www.hotmail.com
> >
> >
>
>__________________________________________________
>Do You Yahoo!?
>Bid and sell for free at http://auctions.yahoo.com
>

______________________________________________________
Get Your Private, Free Email at http://www.hotmail.com