Appendix a 80c186 instruction set additions and ex, A.1 80c186 instruction set additions, A.1.1 data transfer instructions – Intel 80C188XL User Manual

Page 308

Advertising
background image

A-1

APPENDIX A

80C186 INSTRUCTION SET

ADDITIONS AND EXTENSIONS

The 80C186 Modular Core family instruction set differs from the original 8086/8088 instruction
set in two ways. First, several instructions that were not available in the 8086/8088 instruction set
have been added. Second, several 8086/8088 instructions have been enhanced for the 80C186
Modular Core family instruction set.

A.1

80C186 INSTRUCTION SET ADDITIONS

This section describes the seven instructions that were added to the base 8086/8088 instruction
set to make the instruction set for the 80C186 Modular Core family. These instructions did not
exist in the 8086/8088 instruction set.

Data transfer instructions

— PUSHA

— POPA

String instructions

— INS

— OUTS

High-level instructions

— ENTER

— LEAVE

— BOUND

A.1.1

Data Transfer Instructions

PUSHA/POPA

PUSHA (push all) and POPA (pop all) allow all general-purpose registers to be stacked and un-
stacked. The PUSHA instruction pushes all CPU registers (except as noted below) onto the stack.
The POPA instruction pops all registers pushed by PUSHA off of the stack. The registers are
pushed onto the stack in the following order: AX, CX, DX, BX, SP, BP, SI, DI. The Stack Pointer
(SP) value pushed is the Stack Pointer value before the AX register was pushed. When POPA is
executed, the Stack Pointer value is popped, but ignored. Note that this instruction does not save
segment registers (CS, DS, SS, ES), the Instruction Pointer (IP), the Processor Status Word or
any integrated peripheral registers.

Advertising
This manual is related to the following products: