1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
|
page ,132
title 87ctriga - C interfaces - asin, acos, atan, atan2
;***
;87ctriga.asm - inverse trig functions (8087/emulator version)
;
; Copyright (c) 1984-89, Microsoft Corporation
;
;Purpose:
; C interfaces for asin, acos, atan, atan2 (8087/emulator version)
;
;Revision History:
; 07-04-84 GFW initial version
; 05-08-87 BCM added C intrinsic interface (_CI...)
; 10-12-87 BCM changes for OS/2 Support Library
; 11-24-87 BCM added _loadds under ifdef DLL
; 01-18-88 BCM eliminated IBMC20; ifos2,noos2 ==> ifmt,nomt
; 08-26-88 WAJ 386 version
; 11-20-89 WAJ Don't need pascal for MTHREAD 386.
;
;*******************************************************************************
.xlist
include cruntime.inc
include mrt386.inc
include os2supp.inc
include elem87.inc
.list
.data
extrn _OP_ASINjmptab:word
extrn _OP_ACOSjmptab:word
extrn _OP_ATANjmptab:word
extrn _OP_ATAN2jmptab:word
page
CODESEG
extrn _ctrandisp1:near
extrn _ctrandisp2:near
labelP asin, PUBLIC
mov rdx, dataoffset _OP_ASINjmptab
disp1:
jmp _ctrandisp1
labelP acos, PUBLIC
mov rdx, dataoffset _OP_ACOSjmptab
jmp disp1
labelP atan, PUBLIC
mov rdx, dataoffset _OP_ATANjmptab
jmp disp1
labelP atan2, PUBLIC
mov rdx, dataoffset _OP_ATAN2jmptab
jmp _ctrandisp2
extrn _cintrindisp1:near
extrn _cintrindisp2:near
labelP _CIasin, PUBLIC
mov rdx,dataoffset _OP_ASINjmptab
idisp1:
jmp _cintrindisp1
labelP _CIacos, PUBLIC
mov rdx, dataoffset _OP_ACOSjmptab
jmp idisp1
labelP _CIatan, PUBLIC
mov rdx, dataoffset _OP_ATANjmptab
jmp idisp1
labelP _CIatan2, PUBLIC
mov rdx, dataoffset _OP_ATAN2jmptab
jmp _cintrindisp2
end
|