Data Movement Instructions

15
Data Movement Instructions A Course in Microprocessor Electrical Engineering Department University of Indonesia

description

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 - PowerPoint PPT Presentation

Transcript of Data Movement Instructions

Page 1: Data Movement Instructions

Data Movement Instructions

A Course in MicroprocessorElectrical Engineering Department

University of Indonesia

Page 2: Data Movement Instructions

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 fomrs 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

Page 3: Data Movement Instructions

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

Page 4: Data Movement Instructions

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

Page 5: Data Movement Instructions

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 4th

Page 6: Data Movement Instructions

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

Page 7: Data Movement Instructions

SEGMENT OVERRIDE PREFIX

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

See Table 4.20

Page 8: Data Movement Instructions
Page 9: Data Movement Instructions
Page 10: Data Movement Instructions
Page 11: Data Movement Instructions
Page 12: Data Movement Instructions
Page 13: Data Movement Instructions
Page 14: Data Movement Instructions
Page 15: Data Movement Instructions