Intel 80C186EA User Manual page 313

Hide thumbs Also See for 80C186EA:
Table of Contents

Advertisement

MATH COPROCESSING
$mod186
$modc187
name
example_80C187_proc
;DESCRIPTION:
This code section uses the 80C187 FSINCOS transcendental
;
instruction to convert the locus of a point from polar
;
to Cartesian coordinates.
;
;VARIABLES:
The variables consist of the radius, r, and the angle, theta.
;
Both are expressed as 32-bit reals and 0 <= theta <= pi/4.
;
;RESULTS:
The results of the computation are the coordinates x and y
;
expressed as 32-bit reals.
;
;NOTES:
This routine is coded for Intel ASM86. It is not set up as an
;
HLL-callable routine.
;
;
This code assumes that the 80C187 has already been initialized.
;
assume cs:code, ds:data
data
segment at 0100h
r
theta
x
y
data
ends
code
segment at 0080h
convert
proc far
mov
ax, data
mov
ds, ax
fld
r
fld
theta
fsincos
fmul
st, st(2)
fstp
x
fmul
fstp
y
convert endp
code
ends
end
Example 11-2. Floating Point Math Routine Using FSINCOS
11-16
dd x.xxxx
;substitute real operand
dd x.xxxx
;substitute real operand
dd ?
dd ?
;load radius
;load angle
;st=cos, st(1)=sin
;compute x
;store to memory and pop
;compute y
;store to memory and pop

Advertisement

Table of Contents
loading

This manual is also suitable for:

80c188ea

Table of Contents