79 lines
1.5 KiB
NASM
79 lines
1.5 KiB
NASM
page ,132
|
|
subttl emfconst.asm - Loading of 8087 on chip constants
|
|
;***
|
|
;emfconst.asm - Loading of 8087 on chip constants
|
|
;
|
|
; Copyright (c) 1986-89, Microsoft Corporation
|
|
;
|
|
;Purpose:
|
|
; Loading of 8087 on chip constants
|
|
;
|
|
; This Module contains Proprietary Information of Microsoft
|
|
; Corporation and should be treated as Confidential.
|
|
;
|
|
;Revision History:
|
|
; See emulator.hst
|
|
;
|
|
;*******************************************************************************
|
|
|
|
;-----------------------------------------;
|
|
; ;
|
|
; Constant Loading ;
|
|
; ;
|
|
;-----------------------------------------;
|
|
|
|
;---------------------------------------------------
|
|
; !
|
|
; 8087 emulator constant loading !
|
|
; !
|
|
;---------------------------------------------------
|
|
|
|
ProfBegin FCONST
|
|
|
|
|
|
LoadConstantEntry MACRO cName,Position
|
|
pub e&cName
|
|
mov ebx,offset c&cName
|
|
IFIDN <&Position>,<Last>
|
|
ELSE ;IFIDN <&Position>,<Last>
|
|
jmp short CommonConst
|
|
ENDIF ;IFIDN <&Position>,<Last>
|
|
ENDM
|
|
|
|
ifndef frontend
|
|
ifndef SMALL_EMULATOR
|
|
|
|
LoadConstantEntry FLDPI,NotLast
|
|
|
|
LoadConstantEntry FLDL2T,NotLast
|
|
|
|
LoadConstantEntry FLDL2E,NotLast
|
|
|
|
LoadConstantEntry FLDLG2,NotLast
|
|
|
|
LoadConstantEntry FLDLN2,NotLast
|
|
|
|
endif ;not SMALL_EMULATOR
|
|
endif ;not frontend
|
|
|
|
LoadConstantEntry FLDZ,NotLast
|
|
|
|
LoadConstantEntry FLD1,Last
|
|
|
|
pub CommonConst
|
|
PUSHST
|
|
MOV esi,ebx
|
|
MOV edi,[CURstk]
|
|
ifdef i386
|
|
rept Reg87Len/4
|
|
MOVS dword ptr es:[edi], dword ptr cs:[esi]
|
|
endm
|
|
else
|
|
rept Reg87Len/2
|
|
MOVS word ptr es:[edi], word ptr cs:[esi]
|
|
endm
|
|
endif
|
|
RET
|
|
|
|
ProfEnd FCONST
|