MOV指令举例: 1)CPU内部寄存器之间传送数据: MOV AL,BL;8位数据传送指令(1字节) MOV AX,DX;16位数据传送指令(1字) MOV SI,BP;16位数据传送指令(1字) 2)立即数传送至通用寄存器 MOV CL, 4 ;8位数据传送 MOV AX,03FFH;16位数据传送
• MOV指令举例: 1)CPU内部寄存器之间传送数据: MOV AL,BL ;8位数据传送指令(1字节) MOV AX,DX ;16位数据传送指令(1字) MOV SI, BP ;16位数据传送指令(1字) 2)立即数传送至通用寄存器: MOV CL,4 ; 8位数据传送 MOV AX,03FFH ;16位数据传送
MOV指令举例: 3)寄存器(CS和I除外)与存储器间的数据传送 MOV AL, BUFFER MOV AX,[S耵 MOV DI, CX MOV SI, BLOCK BPI MOV DS, DATA SI+ BXI MOV DESTIBP+DI, ES
• MOV指令举例: 3)寄存器(CS和IP除外)与存储器间的数据传送 MOV AL,BUFFER MOV AX,[SI] MOV [DI],CX MOV SI,BLOCK [BP] MOV DS,DATA[SI+BX] MOV DEST[BP+DI],ES
注意 1.MOV指令不能在两个存储器之间进行数据直 接传送。 2.MOV指令不能在两个段寄存器之间进行数据 直接传送 3.立即数不能直接传送给段寄存器 4.目的操作数不能为CS和IP 其中(1)—(3)的传送可用通用寄存器作为 中介,用两条传送指令; 例: MOV AL,AREA1 MOⅤAREA2,AL
• 注意: 1. MOV指令不能在两个存储器之间进行数据直 接传送。 2. MOV指令不能在两个段寄存器之间进行数据 直接传送。 3. 立即数不能直接传送给段寄存器。 4. 目的操作数不能为CS和IP。 其中(1)—(3)的传送可用通用寄存器作为 中介,用两条传送指令; 例:MOV AL,AREA1 MOV AREA2,AL
例:将内存中以AREA为首地址的100个字节数 据搬移到以AREA2为首地址的内存中去。 MOV SI, OFFSET AREA1 AREAIIII 22 MOV DI OFFSET AREA2 33 44 MOV CX, 100 AGAIN: MOV AL, SI MOV DI, AL INC SI INC DI AREA2 DEC CX JNZ AGAIN
例:将内存中以AREA1为首地址的100个字节数 据搬移到以AREA2为首地址的内存中去。 MOV SI,OFFSET AREA1 MOV DI,OFFSET AREA2 MOV CX,100 AGAIN: MOV AL,[SI] MOV [DI],AL INC SI INC DI DEC CX JNZ AGAIN 。。。 。。。 。。。 。。。 。。。 。。。 。。。 。。。 。。。 。。。 。。。 。。。 AREA2 。。。 。。。 。。。 。。。 。。。 。。。 。。。 。。。 。。。 。。。 44 。。。 33 。。。 22 AREA1 11
2、交换指令 XCHG指令 格式: XCHG OP1,OP2 功能:交换两个操作数。 说明:指令中的两个操作数可以是两个寄存器操 作数,或一个寄存器与一个存储器操作数。 (段寄存器不能作为一个操作数) 举例: XCHG AL,CL XCHG AX, DI XCHG BX, SI XCHG AX, BUFFER
2、交换指令 • XCHG指令 格式:XCHG OP1 ,OP2 功能:交换两个操作数。 说明:指令中的两个操作数可以是两个寄存器操 作数,或一个寄存器与一个存储器操作数。 (段寄存器不能作为一个操作数) 举例:XCHG AL,CL XCHG AX,DI XCHG BX,SI XCHG AX,BUFFER