home *** CD-ROM | disk | FTP | other *** search
- public .ovbgn, ovexit_
- ext ovmain_,prctyp
- dseg
- ovstkpt: ds 2
- saveret: ds 2
- cseg
- .ovbgn:
- pop h
- pop h
- pop h
- pop h
- sphl
- pop b
- ; call prctyp ;8080 or z80 processor?
- ; jnc ovbgn10 ;jump if 8080
- db 253,225,221,225 ;pop ix, pop iy for z80 processor
- ovbgn10:
- pop h
- shld saveret
- pop d
- lxi h,ovret
- push h
- lxi h,0
- dad sp
- shld ovstkpt ;save stack pointer for ovexit
- jmp ovmain_
-
- ovret: xchg ;save return value
- lhld saveret ;get return addr
- push h ;place dummy overlay name ptr on stack
- push h ;place return addr on stack
- xchg ;restore return value to hl
- ret ;return to caller
- ;
- ovexit_:
- lxi h,2 ;get return value
- dad sp
- mov e,m
- inx h
- mov d,m
- lhld ovstkpt ;get original stack pointer
- sphl ;and restore it
- xchg
- ret ;return back to root
- end