MATH COPROCESSING
11-16
Example 11-2. Floating Point Math Routine Using FSINCOS
$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
dd x.xxxx
;substitute real operand
theta
dd x.xxxx
;substitute real operand
x
dd ?
y
dd ?
data
ends
code
segment at 0080h
convert
proc far
mov
ax, data
mov
ds, ax
fld
r
;load radius
fld
theta
;load angle
fsincos
;st=cos, st(1)=sin
fmul
st, st(2)
;compute x
fstp
x
;store to memory and pop
fmul ;compute
y
fstp
y
;store to memory and pop
convert endp
code
ends
end
Содержание 80C186EA
Страница 1: ...80C186EA 80C188EA Microprocessor User s Manual...
Страница 2: ...80C186EA 80C188EA Microprocessor User s Manual 1995...
Страница 19: ......
Страница 20: ...1 Introduction...
Страница 21: ......
Страница 28: ...2 Overview of the 80C186 Family Architecture...
Страница 29: ......
Страница 79: ......
Страница 80: ...3 Bus Interface Unit...
Страница 81: ......
Страница 129: ......
Страница 130: ...4 Peripheral Control Block...
Страница 131: ......
Страница 139: ......
Страница 140: ...5 ClockGenerationand Power Management...
Страница 141: ......
Страница 165: ......
Страница 166: ...6 Chip Select Unit...
Страница 167: ......
Страница 190: ...7 Refresh Control Unit...
Страница 191: ......
Страница 205: ......
Страница 206: ...8 Interrupt Control Unit...
Страница 207: ......
Страница 239: ...INTERRUPT CONTROL UNIT 8 32...
Страница 240: ...9 Timer Counter Unit...
Страница 241: ......
Страница 265: ......
Страница 266: ...10 Direct Memory Access Unit...
Страница 267: ......
Страница 295: ...DIRECT MEMORY ACCESS UNIT 10 28...
Страница 296: ...11 Math Coprocessing...
Страница 297: ......
Страница 314: ...12 ONCE Mode...
Страница 315: ......
Страница 318: ...A 80C186 Instruction Set Additions and Extensions...
Страница 319: ......
Страница 330: ...B Input Synchronization...
Страница 331: ......
Страница 334: ...C Instruction Set Descriptions...
Страница 335: ......
Страница 383: ...INSTRUCTION SET DESCRIPTIONS C 48...
Страница 384: ...D Instruction Set Opcodes and Clock Cycles...
Страница 385: ......
Страница 408: ...Index...
Страница 409: ......