MOV指令
<h2>MOV指令,能实现以下操作:</h2>
<h6>1. CPU内部寄存器之间数据的任意传送(除了码段寄存器CS和指令指针IP以外)。</h6>
<h6>2. 立即数传送至CPU内部的通用寄存器组(即AX、BX、CX、DX、BP、SP、SI、DI),给这些寄存器赋初值。</h6>
<h6>3. CPU内部寄存器(除了CS和IP以外)与存储器(所有寻址方式)之间的数据传送,可以实现一个字节或一个字的传送。</h6>
<h6>4. 能实现用立即数给存储单元赋初值。</h6>
<p><img src="https://www.showdoc.com.cn/server/api/attachment/visitfile/sign/4e361711a0edc0fa5a1caa943879beb4" alt="" /><img src="https://www.showdoc.com.cn/server/api/attachment/visitfile/sign/b94c2e305662b4584e15c9fb3f835015" alt="" /></p>
<hr />
<p><img src="https://www.showdoc.com.cn/server/api/attachment/visitfile/sign/05bc126dc5f5f0afd8360b2ad1a4d5bf" alt="" /></p>
<hr />
<hr />
<h1>注意MOV的使用范围</h1>
<p><img src="https://www.showdoc.com.cn/server/api/attachment/visitfile/sign/101b3ff162156b93ceb417c7f47a4bdf" alt="" />
<img src="https://www.showdoc.com.cn/server/api/attachment/visitfile/sign/3fd057a076b86fc9a1b283a0083721fb" alt="" /></p>
<hr />
<hr />
<h1>下面给出一些具体示例:</h1>
<h5>立即数传送:</h5>
<h6><code>MOV CL,4</code> ;CL←4,字节传送</h6>
<h6><code>MOV DX,0FFH</code> ;DX←00FFH,字传送</h6>
<h6><code>MOV SI,200H</code> ;SI←0200H,字传送</h6>
<h6><code>MOV BVAR,0AH</code> ;字节传送 ;假设BVAR是一个字节变量,定义如下:BVAR DB 0</h6>
<h6><code>MOV WVAR,0BH</code> ;字传送 ;假设wvar是一个字变量,定义如下:wvar dw 0</h6>
<h5>寄存器传送</h5>
<h6><code>mov ah,al</code> ;ah←al,字节传送</h6>
<h6><code>mov bvar,ch</code> ;bvar←ch ,字节传送</h6>
<h6><code>mov ax,bx</code> ;ax←bx,字传送</h6>
<h6><code>mov ds,ax</code> ;ds←ax,字传送</h6>
<h6><code>mov [bx],al</code> ;[bx]←al,字节传送</h6>
<h5>存储器传送:</h5>
<h6><code>mov al,[bx]</code> ;al←ds:[bx]</h6>
<h6><code>mov dx,[bp]</code> ;dx←ss:[bp+0]</h6>
<h6><code>mov dx,[bp+4]</code> ;dx←ss:[bp+4]</h6>
<h6><code>mov es,[si]</code> ;es←ds:[si]</h6>
<h5>段寄存器传送:</h5>
<h6><code>MOV [SI]</code>,DS</h6>
<h6><code>MOV AX,DS</code> ;AX←DS</h6>
<h6><code>MOV ES,AX</code> ;ES←AX←DS</h6>