Chapter4.5 6-mikroprocessor

Post on 20-Jun-2015

272 views 0 download

Tags:

transcript

Data Movement Instructions

A Course in Microprocessor

Electrical Engineering Department

University of Indonesia

MISCELLANEOUS DATA TRANSFER INSTRUCTION

XCHG– The XCHG (exchange) instruction exchanges the

contents of a register to any other register or memory location

– Table 4.16 list the forms of the XCHG instructions

LAHF and SAHF– These instructions allowed 8085 software to be

translated into 8086 software by a translation program; They are seldom used

MISCELLANEOUS DATA TRANSFER INSTRUCTION (cont’d)

XLAT– The XLAT (translate) instruction converts the

contents of the AL register into a number stored in a memory table

– This instruction performs the direct table look-up technique

– Study Example 4.9 and Fig.4.17

IN and OUT

MISCELLANEOUS DATA TRANSFER INSTRUCTION (cont’d)

– Table 4.17 lists the forms of IN and OUT instructions, which perform I/O operations

– Two forms of I/O device (port) addressing exist for IN and OUT: fixed-port (i.e., port number follows the instruction’s op-code) and variable port (i.e., it has permanent port number, stored in a ROM)

– The port address appears on the address bus during an I/O instruction

– Study Fig.4.18 and Example 4.10

MISCELLANEOUS DATA TRANSFER INSTRUCTION (cont’d)

MOVSX and MOVZX– The MOVSX (move and sign-extend) and

MOVZX (move and zero-extend) move data and at the same time either sign-extend (i.e., its sign-bit is copied into the most significant part) or zero-extend (i.e., the most significant part fills with zero) it. See Table 4.18

BSWAP– The BSWAP (byte swap) instruction takes the

contents of any 32-bit register and swaps the 1st byte with the 4th, and the 2nd with the 3th

MISCELLANEOUS DATA TRANSFER INSTRUCTION (cont’d)

CMOV– The CMOV (conditional move) only move the

data if the condition is true– See Table 4.19 and example 4.11

SEGMENT OVERRIDE PREFIX

The segment override prefix allows the programmer to deviate from the default segment– e.g., the MOV AX,[DI] --> MOV AX,ES:[DI]

See Table 4.20