Macro AbsJmp dest
	push (offset dest)
	retn
EndM  AbsJmp
Macro AbsLngJmp dest
	push (seg dest)
	push (offset dest)
	retf
EndM  AbsLngJmp

Macro ACall dest
	ds:
	mov eax,offset dest
	call eax
EndM



Struc AerialThread	_bx,_si,_di,_bp,_sp,eesp,resp ; Lighter than Light !
  AT_SAVE_EBX		dd	?	; initial Top of Stack
  AT_SAVE_ESI		dd	?	; Data Stack Pointer
  AT_SAVE_EDI		dd	?	; Return Stack Pointer
  AT_SAVE_EBP		dd	?	; Those two are reserved for the
  AT_SAVE_ESP		dd	?	;; threading mechanism.
  AT_STATE		dd	?
  AT_MAX_ESI		dd	?	; bottom of data stack
  AT_MAX_EDI		dd	?	; bottom of return stack
  AT_LINKBACK		dd	?	; link back to thread object
  AT_SAVE_RESP		dd	?	; ESP save when going ret-threaded
EndS
