INSTRUCTION SET DESCRIPTIONS

 

Table C-4. Instruction Set (Continued)

 

 

 

 

 

Name

Description

Operation

Flags

Affected

 

 

 

 

 

 

 

BOUND

Detect Value Out of Range:

if

AF –

 

BOUND dest, src

((dest) < (src) or (dest) > ((src) + 2)

CF –

 

then

DF –

 

Provides array bounds checking in

 

(SP) (SP) – 2

IF –

 

hardware. The calculated array index

 

((SP) + 1 : (SP)) FLAGS

OF –

 

is placed in one of the general purpose

 

(IF) 0

PF –

 

registers, and the upper and lower

 

(TF) 0

SF –

 

bounds of the array are placed in two

 

(SP) (SP) – 2

TF –

 

consecutive memory locations. The

 

((SP) + 1 : (SP)) (CS)

ZF –

 

contents of the register are compared

 

(CS) (1EH)

 

 

with the memory location values, and if

 

 

(SP) (SP) – 2

 

 

the register value is less than the first

 

 

((SP) + 1 : (SP)) (IP)

 

 

location or greater than the second

 

 

(IP) (1CH)

 

 

memory location, a trap type 5 is

 

 

 

 

 

generated.

 

 

 

Instruction Operands:

 

 

 

BOUND reg, mem

 

 

 

 

 

 

CALL

Call Procedure:

if

AF –

 

CALL procedure-name

Inter-segment

CF –

 

then

DF –

 

Activates an out-of-line procedure,

 

(SP) (SP) – 2

IF –

 

saving information on the stack to

 

((SP) +1:(SP)) (CS)

OF –

 

permit a RET (return) instruction in the

 

(CS) SEG

PF –

 

procedure to transfer control back to

 

(SP) (SP) – 2

SF –

 

the instruction following the CALL. The

 

((SP) +1:(SP)) (IP)

TF –

 

assembler generates a different type

 

(IP) dest

ZF –

 

of CALL instruction depending on

 

 

 

 

whether the programmer has defined

 

 

 

the procedure name as NEAR or FAR.

 

 

 

Instruction Operands:

 

 

 

CALL near-proc

 

 

 

CALL far-proc

 

 

 

CALL memptr16

 

 

 

CALL regptr16

 

 

 

CALL memptr32

 

 

 

 

 

 

NOTE: The three symbols used in the Flags Affected column are defined as follows:

the contents of the flag remain unchanged after the instruction is executed ¸? the contents of the flag is undefined after the instruction is executed

the flag is updated after the instruction is executed

C-7

Page 330
Image 330
Intel 80C188XL, 80C186XL user manual Bound, Detect Value Out of Range, Call Procedure, Call procedure-name