Iapx 286 PROGRAMMER's REFERENCE MANUAL
Total Page:16
File Type:pdf, Size:1020Kb
iAPX 286 PROGRAMMER'S REFERENCE MANUAL 1983 -. Additional copies of this manual or other Intel literature may be obtained from: Literature Department Intel Corporation 3065 Bowers Avenue Santa Clara, CA 95051 The information in this document is subject to change without notice. Intel Corporation makes no warranty of any kind with regard to this material, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose. Intel Corporation assumes no responsibility for any errors that may appear in this document. Intel Corporation makes no commitment to update nor to keep current the information contained in this document. Intel Corporation assumes no responsibility for the use of any circuitry other than circuitry embodied in an Intel product. No other circuit patent licenses are implied. Intel software products are copyrighted by and shall remain the property of Intel Corporation. Use, dupli cation or disclosure is subject to restrictions stated in Intel's software license, or as defined in ASPR 7-104.9(a)(9). No part of this document may be copied or reproduced in any form or by any means without the prior written consent of Intel Corporation. The following are trademarks of Intel Corporation and its affiliates and may be used to identify Intel products: AEDIT iDiS Intellink MICROMAINFRAME BITBUS iLBX iOSP MULTIBUS BXP im iPDS MULTICHANNEL COMMputer iMMX iRMX MULTIMODULE CREDIT Insite iSBC Plug-A-Bubble i intel iSBX PROMPT 12ICE intelBOS iSDM Ripplemode iATC Intelevision iSXM RMX/80 ICE inteligent Identifier Library Manager RUPI iCS inteligent Programming MCS System 2000 iDBP Intellec Megachassis UPI Table of Contents CHAPTER 1 Page INTRODUCTION TO iAPX 286 General Attributes .......... ...... ....................... ....... .......... .......................................................... 1-1 Modes of Operation ..... ............................. ...... .......... ............................................................. 1-2 Advanced Features ...... ..... .................... .... ........ .............. ............ ........................................... 1-2 Memory Management ..... ....... ..... ...... ...... .... .......... ........ ..................................................... 1-2 Task Management ............... ............ ........... ..... .................................................................. 1-3 Protection Mechanisms ...... ............ ...... ...... ....... ................................................................ 1-3 Support for Operating Systems ....... .............. ............ ..... .................................................. 1-4 Organization of This Manual.................... ...... ....................................................................... 1-4 CHAPTER 2 iAPX 286 BASE ARCHITECTURE Memory Organization and Segmentation ............................................................................. 2-1 Data Types ............................................................................................................................. 2-1 Registers ..................... ................................ ...... .............. ....................................................... 2-6 General Registers .... ............................. ...... .......... ...... ....................................................... 2-6 Memory Segmentation and Segment Registers ............................................................... 2-7 Index, POinter, and Base Registers ...................................................................... :........... 2-10 Status and Control Registers ............... ...... .......... ........ ..................................................... 2-14 Addressing Modes ..... ................................ ....... .......... ................................................... ....... 2-15 Operands .......................................................................................................... .................. 2-16 Register and Immediate Modes ........................................................................................ 2-17 Memory Addressing Modes ................. ...... ................ ....................................................... 2-17 Segment Selection ............. ........................ .................................................................... 2-17 Offset Computation ... ............. ................. ................................................................ ....... 2-19 Memory Mode ........ ........ ........... .............. ............................ ........................................... 2-20 Input/Output ........................................................................................................................... 2-22 I/O Address Space .. ...... ......... ........... ...... .... ....................................................................... 2-22 Memory-Mapped I/O .... ..... ......................... ....................................................................... 2-23 Interrupts and Exceptions .................... ...... .... ....................................................................... 2-23 Hierarchy of Instruction Sets ....................... ......... ........... ..................................................... 2-24 CHAPTER 3 BASIC INSTRUCTION SET Data Movement Instructions ................................................................................................. 3-1 General-Purpose Data Movement Instructions .... ............................................................ 3-1 Stack Manipulation Instructions ........................................................................................ 3-1 Flag Operation with the Basic Instruction Set ...................................................................... 3-5 Status Flags ....................................................................................................................... 3-5 Control Flags ........................................................................... ............ ......... ...................... 3-5 Arithmetic Instructions ...... .................... ................................................................................. 3-6 Addition Instructions .......................................................................................................... 3-7 Subtraction Instructions ..................................................................................................... 3-7 Multiplication Instructions .................................................................................................. 3-8 Division Instructions ... .......... ...... ....... .... ...... .... ........................ ........................................... 3-9 Logical Instructions .......... ............................ ............ ...... ....................................................... 3-10 Boolean Operation Instructions . ........... ......... .................................................................... 3-10 Shift and Rotate Instructions ............ ........ .................... ..................................................... 3-10 Shift Instructions ........................... .......... ....................................................................... 3-11 Rotate Instructions ......................................................................................................... 3-13 Type Conversion and No-Operation Instructions ............................................................. 3-17 Test and Compare Instructions ............................................................................................ 3-17 iii Table of Contents (cont.) Page Control Transfer Instructions ............................................................................. ... ................ 3-17 Unconditional Transfer Instructions .................................................................................. 3-18 Jump Instruction ............................................................................................................. 3-18 Call Instruction .................. ................................................................ ........... ................... 3-20 Return and Return From Interrupt Instruction .............................................................. 3-20 Conditional Transfer Instructions ... ................................................................................... 3-21 Conditional Jump Instructions ....................................................................................... 3-21 Loop Instructions .. ......... ........................................... ................................ ..................... 3-21 Executing a Loop or Repeat Zero Times ........................................... ............. .............. 3-22 Software-Generated Interrupts ............................ ........................................... ... ................ 3-23 Software Intertupt Instruction ........................................................................................ 3-23 Character Translation and String Instructions ..................................................................... 3-23 Translate Instruction .......................................................................................................... 3-23 String Manipulation Instructions and Repeat Prefixes ..................................................... 3-23 String Movement Instructions ..... ...................................