pcs/xli.ref

79 lines
2.4 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

subttl Structure definitions
page
; Data structures in the child's space
; File block
file_block struc
fb_id dw ? ;ID
fb_flags dw ? ;flags
fb_lut dw ?,? ;lookup table@ (far)
fb_pb dw ?,? ;parameter block@ (far)
fb_reserved dw 8 dup (?) ;reserved
file_block ends
;
fb_dummy equ fb_reserved ;dummy for now
fb_sysint_addr equ fb_reserved+2 ;system code (far @ of entry routine)
; Parameter block
parm_block struc
pb_select dw ? ;lookup table entry maps to number
pb_ss dw ? ;special services
pb_ss_args dw 8 dup (?) ;special service arguments
pb_reserved dw 8 dup (?) ;reserved
pb_rvtype dw ? ;return value type
pb_rv dw 4 dup (?) ;return value
pb_args dw ? ;beginning of passed parameters
parm_block ends
; Local structures
; The context we will remember for parent or child
state struc
st_ds dw 0
st_es dw 0
st_ss dw 0
st_sp dw 0
st_bp dw 0
state ends
; The child's stack at the point it called us
cstack struc
cs_ret dw 0,0 ;far return address
cs_len dw 0 ;child's length
cs_psp dw 0 ;child's PSP
cstack ends
; String search temporary structure
search_struc struc
srch_exe dw 0 ;# of child being tested
srch_dptr dw 0,0 ;seg:offset of child's string
srch_sptr dw 0,0 ;seg:offset of parent's string
srch_slen dw 0 ;#chars in Scheme string
search_struc ends
; Swap structure
swap_struc struc
sw_reg dw 0 ;VM register containing this argument
sw_offset dw 0 ;argument's final location (after
;packing, etc) in parm block
swap_struc ends
; Information needed during one xesc call
xesc_struc struc
xs_rvptr dw 0,0 ;return value@ (far)
xs_args dw 0,0 ;first arg@ (far)
xs_local dw 0,0 ;work area@ (far)
xs_dest dw 0,0 ;copy data to this dest@ (far)
xs_pc dw 0,0 ;bytecode@ into xesc instruction (far)
xs_select dw 0 ;name converted to this number
xs_flags dw 0 ;flags
xs_nargs dw 0 ;actual #args in current call
xs_rvtype dw 0 ;return value type
xs_rvreg dw 0 ;return value goes into this VM register
xs_pb_segment dw 0 ;segment address of parm block
C_fn dw ? ;used during far calls to our C routines
C_retadr dw ?,?
xesc_struc ends