微机原理的习题,帮忙看下怎么解释 XCHG AL,[DI] ,XCHG SI, DI 这两个交换的是什么。

设A,B是长度为10的字节数组,用串操作指令编写程序实现AB两数组内容的相互交换,试完善本程序。
DATA SEGMENT
A DB1,2,3,4,5,6,7,8,9,0AH
DRG OO10H
B DB 0AH,9,8,7,6,5,4,3,2,1
DATA ENDS
.....
LEA SI,A
LEA DO,B
MOV CX,10
LOP: LODSB
XCHG AL,[DI]
____
DEC DI
STOSB
_____
INC D
LOOP LOP
解:
XCHG SI, DI XCHG SI, DI

XCHG AL,[DI]
这个里面是把目的串指针DI所指向的数据与AL的值交换;
XCHG SI, DI
这里是把源串指针SI所指的地址与目的串指针DI所指的地址交换,这样就间接完成数据的交换。
希望采纳哦
温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答