APPLICATION ARCHITECTURE

registers, respectively. The Push instruction pushes a dword onto the stack and the Pop instruction pops the top d word from the stack into a register or to memory. Push All pushes the general registers onto the stack and Pop All does the reverse.

The Enter and Leave instructions are provided for block-structured high-level languages. The Enter instruction builds the stack frame and display that compilers use to link procedure calls. The Leave instruction removes the dis- play and stack frame from the stack in prepara- tion for returning to the calling procedure.

"INCREASING SIGNIFICANCE

2.3.3.2Control Transfer Instructions

The Jump instruction transfers control to another instruction by changing the value of the Instruction Pointer. The target instruction may be in the same code segment (up to 232 bytes a way) or in a different one. The operand of an intrasegment Jump is a near pointer, that is, the offset of the target instruction in the current code segment; thus, a Jump can be directed to any location in the largest possible segment. The operand of an intersegment Jump is a far pointer. allowing control to be

I RELATIVE ADDRESSES

o70 BYTE ORDINAL

MAGNITUDE ___-It

 

~

 

0

 

IIL... -__________.....IDWORD INTEGER

 

t,--I---- MAGNITUDE ------ '

 

'-------SIGN

 

 

 

7

 

0

 

o

 

UNPACKED DECIMAL

 

7

3

0

 

OJPACKED DECIMAL

 

d~.,...I____-------.-1 BYTE STRING

 

LEFTMOST BYTE ------ 't

 

 

~

 

0

 

1L-__________-.l1 NEAR POINTER

47

31

 

 

L -______~____________~IFAR POINTER

L

SELECTOR ~~I----OFFSET - ___~

Figure 2-7. Data Type Storage

2-8

Page 21
Image 21
Intel 80386 manual ~.,...I-------.-1 Byte String