Data Movement Instructions
description
Transcript of Data Movement Instructions
![Page 1: Data Movement Instructions](https://reader036.fdocuments.in/reader036/viewer/2022070308/56814a33550346895db7502c/html5/thumbnails/1.jpg)
Data Movement Instructions
A Course in MicroprocessorElectrical Engineering Department
University of Indonesia
![Page 2: Data Movement Instructions](https://reader036.fdocuments.in/reader036/viewer/2022070308/56814a33550346895db7502c/html5/thumbnails/2.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022070308/56814a33550346895db7502c/html5/thumbnails/3.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022070308/56814a33550346895db7502c/html5/thumbnails/4.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022070308/56814a33550346895db7502c/html5/thumbnails/5.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022070308/56814a33550346895db7502c/html5/thumbnails/6.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022070308/56814a33550346895db7502c/html5/thumbnails/7.jpg)
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](https://reader036.fdocuments.in/reader036/viewer/2022070308/56814a33550346895db7502c/html5/thumbnails/8.jpg)
![Page 9: Data Movement Instructions](https://reader036.fdocuments.in/reader036/viewer/2022070308/56814a33550346895db7502c/html5/thumbnails/9.jpg)
![Page 10: Data Movement Instructions](https://reader036.fdocuments.in/reader036/viewer/2022070308/56814a33550346895db7502c/html5/thumbnails/10.jpg)
![Page 11: Data Movement Instructions](https://reader036.fdocuments.in/reader036/viewer/2022070308/56814a33550346895db7502c/html5/thumbnails/11.jpg)
![Page 12: Data Movement Instructions](https://reader036.fdocuments.in/reader036/viewer/2022070308/56814a33550346895db7502c/html5/thumbnails/12.jpg)
![Page 13: Data Movement Instructions](https://reader036.fdocuments.in/reader036/viewer/2022070308/56814a33550346895db7502c/html5/thumbnails/13.jpg)
![Page 14: Data Movement Instructions](https://reader036.fdocuments.in/reader036/viewer/2022070308/56814a33550346895db7502c/html5/thumbnails/14.jpg)
![Page 15: Data Movement Instructions](https://reader036.fdocuments.in/reader036/viewer/2022070308/56814a33550346895db7502c/html5/thumbnails/15.jpg)