Intel 80286, 80287 manual NPX Instruction SET, Compatibility with the 8087 NPX, Numeric Operands

Models: 80287 80286

1 515
Download 515 pages 45.04 Kb
Page 393
Image 393

CHAPTER 2

PROGRAMMING NUMERIC APPLICATIONS

Programmers developing applications for the 80287 have a wide range of instructions and program- ming alternatives from which to choose.

The following sections describe the 80287 instruction set in detail, and follow up with a discussion of several of the programming facilities that are available to programmers of 80287.

THE 80287 NPX INSTRUCTION SET

This section describes the operation of all 80287 instructions. Within this section, the instructions are divided into six functional classes:

Data Transfer instructions

Arithmetic instructions

Comparison instructions

Transcendental instructions

Constant instructions

Processor Control instructions

At the end of this section, each of the instructions is described in terms of its execution speed, bus transfers, and exceptions, as well as a coding example for each combination of operands accepted by the instruction. For easy reference, this information is concentrated into a table, organized alphabeti- cally by instruction mnemonic.

Throughout this section, the instruction set is described as it appears to the ASM286 programmer who is coding a program. Appendix A covers the actual machine instruction encodings, which are princi- pally of use to those reading unformatted memory dumps, monitoring instruction fetches on the bus, or writing exception handlers.

Compatibility with the 8087 NPX

The instruction set for the 80287 NPX is largely the same as that for the 8087 NPX used with 8086 and 8088 systems. Most object programs generated for the 8087 will execute without change on the 80287. Several instructions are new to the 80287, and several 8087 instructions perform no useful function on the 80287. Appendix B at the back of this manual gives details of these instruction set differences and of the differences in the ASM86 and ASM286 assemblers.

Numeric Operands

The typical NPX instruction accepts one or two operands as inputs, operates on these, and produces a result as an output. Operands are most often (the contents of) register or memory locations. The operands of some instructions are predefined; for example, FSQRT always takes the square root of the number in the top stack element. Others allow, or require, the programmer to explicitly code the operand(s) along with the instruction mnemonic. Still others accept one explicit operand and one implicit operand, which is usually the top stack element.

2-1

Page 393
Image 393
Intel 80286, 80287 manual NPX Instruction SET, Compatibility with the 8087 NPX, Numeric Operands