Re: A86: Groupies


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

Re: A86: Groupies



At 06:48 PM 3/25/98 -0500, you wrote:
>
>Does someone know what the call to $47cf does?  It's called in
>_poprealo1 and I need to know if it actually pops anything from the FPS
>by itself.
>Thanks.
>
It subtracts 10 from the FPS. It moves the FPS the same as a pop would, but
doesn't do anything with the number that was on top of the stack. I just
disassembled this stuff last week, so I'm attaching a list of stack related
calls. Hope all this helps...

--Joshua
;here's a bunch of FP stack and OP stack rom calls:

_pop_OP6 equ 47A3h
_pop_OP5 equ 47A7h
_pop_OP4 equ 47ABh
_pop_OP3 equ 47AFh
_pop_OP2 equ 47B3h
_pop_OP1 equ 47B7h
_pop_real_de equ 47BBh	;pop real number into 10 bytes at de.
_pop_CPLX equ 47BFh	;pop complex into OP1/OP2
_pop_CPLX_de equ 47C3h	;pop complex to (de)
_ld_CPLX equ 47C7h	;copy 10 bytes from (hl) to (de)
_sub_FPS_20 equ 47CBh	;FPS=FPS-20
_sub_FPS_10 equ 47CFh	;FPS=FPS-10
_sub_FPS_bc equ 47D3h	;FPS=FPS-bc
_sub_FPS_10hl equ 47D7h	;FPS=FPS-10*hl
_sub_FPS_de equ 47DCh	;FPS=FPS-de
_load_ram_stack equ 47DFh	;convert stack ptr hl to real ptr 
				;(set high bit, load ram pg. 1)
_load_ram_OPS equ 47E7h	;returns hl=useable OPS ptr
_load_ram_FPS equ 47EFh	;returns hl=useable FPS ptr
_add_FPS_10hl equ 47F7h	;FPS=FPS+10*hl
_add_FPS_hl equ 47FBh	;FPS=FPS+hl
_push_OP6 equ 47FFh	;push _OP6 onto FP stack
_push_OP5 equ 4803h
_push_OP4 equ 4807h
_push_OP3 equ 480Bh
_push_OP2 equ 480Fh
_push_OP1 equ 4813h
_push_REAL_hl equ 4817h	;push 10 bytes at hl onto FP stack
_push_FP equ 4827h	;push REAL/CPLX value - rst 18h
			;pushes REAL number (OP1) or CPLX
			;number (OP1+OP2) onto FP
	;stack

Follow-Ups: References: