MOV指令

MOV指令,能实现以下操作:

1. CPU内部寄存器之间数据的任意传送(除了码段寄存器CS和指令指针IP以外)。
2. 立即数传送至CPU内部的通用寄存器组(即AX、BX、CX、DX、BP、SP、SI、DI),给这些寄存器赋初值。
3. CPU内部寄存器(除了CS和IP以外)与存储器(所有寻址方式)之间的数据传送,可以实现一个字节或一个字的传送。
4. 能实现用立即数给存储单元赋初值。


——————

注意MOV的使用范围


——————

下面给出一些具体示例:

立即数传送:
MOV CL,4 ;CL←4,字节传送
MOV DX,0FFH ;DX←00FFH,字传送
MOV SI,200H ;SI←0200H,字传送
MOV BVAR,0AH ;字节传送 ;假设BVAR是一个字节变量,定义如下:BVAR DB 0
MOV WVAR,0BH ;字传送 ;假设wvar是一个字变量,定义如下:wvar dw 0
寄存器传送
mov ah,al ;ah←al,字节传送
mov bvar,ch ;bvar←ch ,字节传送
mov ax,bx ;ax←bx,字传送
mov ds,ax ;ds←ax,字传送
mov [bx],al ;[bx]←al,字节传送
存储器传送:
mov al,[bx] ;al←ds:[bx]
mov dx,[bp] ;dx←ss:[bp+0]
mov dx,[bp+4] ;dx←ss:[bp+4]
mov es,[si] ;es←ds:[si]
段寄存器传送:
MOV [SI],DS
MOV AX,DS ;AX←DS
MOV ES,AX ;ES←AX←DS