A.2 80c186 instruction set enhancements, A.2.1 data transfer instructions – Intel 80C188XL User Manual

Page 315

Advertising
background image

80C186 INSTRUCTION SET ADDITIONS AND EXTENSIONS

A-8

BOUND register, address

BOUND verifies that the signed value in the specified register lies within specified limits. If the
value does not lie within the bounds, an array bounds exception (type 5) occurs. BOUND is useful
for checking array bounds before attempting to access an array element. This prevents the pro-
gram from overwriting information outside the limits of the array.

BOUND has two operands. The first, register, specifies the register being tested. The second, ad-
dress
, contains the effective relative address of the two signed boundary values. The lower limit
word is at this address and the upper limit word immediately follows. The limit values cannot be
register operands (if they are, an invalid opcode exception occurs).

A.2

80C186 INSTRUCTION SET ENHANCEMENTS

This section describes ten instructions that were available with the 8086/8088 but have been en-
hanced for the 80C186 Modular Core family.

Data transfer instructions

— PUSH

Arithmetic instructions

— IMUL

Bit manipulation instructions (shifts and rotates)

— SAL

— SHL

— SAR

— SHR

— ROL

— ROR

— RCL

— RCR

A.2.1

Data Transfer Instructions

PUSH data

PUSH (push immediate) allows an immediate argument, data, to be pushed onto the stack. The
value can be either a byte or a word. Byte values are sign extended to word size before being
pushed.

Advertising
This manual is related to the following products: