THE 8087 MATH COPROCESSOR. 8087 Data Types 3 Types 1. Binary integer 2. Packed Decimal 3. Real.
-
Upload
george-norris -
Category
Documents
-
view
213 -
download
0
Transcript of THE 8087 MATH COPROCESSOR. 8087 Data Types 3 Types 1. Binary integer 2. Packed Decimal 3. Real.
![Page 1: THE 8087 MATH COPROCESSOR. 8087 Data Types 3 Types 1. Binary integer 2. Packed Decimal 3. Real.](https://reader036.fdocuments.net/reader036/viewer/2022082819/56649f275503460f94c3f7a6/html5/thumbnails/1.jpg)
THE 8087 MATH COPROCESSOR
![Page 2: THE 8087 MATH COPROCESSOR. 8087 Data Types 3 Types 1. Binary integer 2. Packed Decimal 3. Real.](https://reader036.fdocuments.net/reader036/viewer/2022082819/56649f275503460f94c3f7a6/html5/thumbnails/2.jpg)
8087 Data Types• 3 Types
1. Binary integer
2. Packed Decimal
3. Real
![Page 3: THE 8087 MATH COPROCESSOR. 8087 Data Types 3 Types 1. Binary integer 2. Packed Decimal 3. Real.](https://reader036.fdocuments.net/reader036/viewer/2022082819/56649f275503460f94c3f7a6/html5/thumbnails/3.jpg)
Binary Integers
Assembler Directive• Word integer16 bitsDW(Define Word)• Short integer 32 bitsDD(Define DoubleWord)• Long Integer 64 bitsDQ(Define Quadword)
![Page 4: THE 8087 MATH COPROCESSOR. 8087 Data Types 3 Types 1. Binary integer 2. Packed Decimal 3. Real.](https://reader036.fdocuments.net/reader036/viewer/2022082819/56649f275503460f94c3f7a6/html5/thumbnails/4.jpg)
Packed Decimal Numbers
Assembler Directive
Packed Decimal80 bitsDT(Define TenBytes)
![Page 5: THE 8087 MATH COPROCESSOR. 8087 Data Types 3 Types 1. Binary integer 2. Packed Decimal 3. Real.](https://reader036.fdocuments.net/reader036/viewer/2022082819/56649f275503460f94c3f7a6/html5/thumbnails/5.jpg)
Real Numbers
Assembler Directive• Short real32 bitsDD(Define DoubleWord)• Long Real 64 bitsDD(Define QuadWord)• Temporary Real 80 bitsDT(Define TenBytes)
![Page 6: THE 8087 MATH COPROCESSOR. 8087 Data Types 3 Types 1. Binary integer 2. Packed Decimal 3. Real.](https://reader036.fdocuments.net/reader036/viewer/2022082819/56649f275503460f94c3f7a6/html5/thumbnails/6.jpg)
The 8087 Internal Architecture
![Page 7: THE 8087 MATH COPROCESSOR. 8087 Data Types 3 Types 1. Binary integer 2. Packed Decimal 3. Real.](https://reader036.fdocuments.net/reader036/viewer/2022082819/56649f275503460f94c3f7a6/html5/thumbnails/7.jpg)
Control word format
![Page 8: THE 8087 MATH COPROCESSOR. 8087 Data Types 3 Types 1. Binary integer 2. Packed Decimal 3. Real.](https://reader036.fdocuments.net/reader036/viewer/2022082819/56649f275503460f94c3f7a6/html5/thumbnails/8.jpg)
Status word format
![Page 9: THE 8087 MATH COPROCESSOR. 8087 Data Types 3 Types 1. Binary integer 2. Packed Decimal 3. Real.](https://reader036.fdocuments.net/reader036/viewer/2022082819/56649f275503460f94c3f7a6/html5/thumbnails/9.jpg)
8087 stack operation
![Page 10: THE 8087 MATH COPROCESSOR. 8087 Data Types 3 Types 1. Binary integer 2. Packed Decimal 3. Real.](https://reader036.fdocuments.net/reader036/viewer/2022082819/56649f275503460f94c3f7a6/html5/thumbnails/10.jpg)
Pythagoras TheoremData segment word public
Side_a dd 3.0
Side_b dd 4.0
Result dd 0
Ctrl_word dw 0
Status_word dw 0
Data ends
Code segment word puplic
Assume cs: code, ds:data
Start: mov ax,data
mov ds,ax
FINIT
mov ctrl_word,03ffh
FLDCW ctrl_word
FLD side_a
FMUL ST,ST(0)
FLD side_bFMUL ST,ST(0)FADD St,ST(1)FSQRTFSTSW status_wordMov ax,status_wordAND al,0BFHJNZ stopFSTP result
Stop: NOPCode endsEnd start