已知数据段
FIRST DB 12H 34H
SECOND DB 56H 78H
(1)传送实现FIRST和SECOND 互换,FIRST+1和SECOND+1互换
分析,即使得SECOND16位内容整体和FIRST16位内容进行互换,
首先双操作数,MOV 和XCHG 不可以是双内存操作数,或者立即数
需要一个通用寄存器来存放长度为16位的内存操作数,选择AX或BX等
a.MOV AX, WORD PTR FIRST ;以16位读取的方式读取FIRST
MOV BX,WORD PTR SECOND
MOV WORD PTR FIRST, BX BX放入以16位为一个存放单位的FIRST
MOV WORD PTR SECOND,AX
b.(使用XCHG)
MOV AX, WORD PTR FIRST ;以16位读取的方式读取FIRST
XCHG AX,WORD PTR SECOND
MOV WORD PTR SECOND,AX
c.(也可以一位一位放)
略
(2)堆栈段实现
PUSH WORD PTR FIRST
PUSH WORD PTR SECOND
POP WORD PTR FIRST
POP WORD PTR SECOND
push和pop就是先放后读,后放先读