牧鱼 發表於 2019-9-3 23:33:00

《汇编语言(王爽)第三版》实验【未完待续】

<h2><span style="font-family: comic sans ms, sans-serif"><strong><span style="font-size: 18px">实验一:查看CPU和内存,用机器指令和汇编指令编程</span></strong></span></h2>
<p><span style="font-family: &quot;comic sans ms&quot;, sans-serif; font-size: 16px">(3)&nbsp;在内存fff00H-fffffH的某几个单元中可以看到rom的生产日期</span></p>
<p><span style="font-family: comic sans ms, sans-serif"><img src="https://img2018.cnblogs.com/blog/1697845/201909/1697845-20190903233141168-1149615065.png" alt="" width="457" height="116"></span></p>
<p><span style="font-family: comic sans ms, sans-serif">&nbsp;<img src="https://img2018.cnblogs.com/blog/1697845/201909/1697845-20190903233158139-2146126185.png" alt="" width="433" height="189"></span></p>
<p><span style="font-family: &quot;comic sans ms&quot;, sans-serif; font-size: 16px">&nbsp;这里是2017年5月19日</span></p>
<p><span style="font-family: &quot;comic sans ms&quot;, sans-serif; font-size: 16px">(4)向b810写数据</span></p>
<p><span style="font-family: comic sans ms, sans-serif">&nbsp;<img src="https://img2018.cnblogs.com/blog/1697845/201909/1697845-20190903235019225-1601525971.png" alt="" width="486" height="368">&nbsp;</span></p>
<p><span style="font-family: &quot;comic sans ms&quot;, sans-serif; font-size: 16px">&nbsp;在这里写入的数据都会显示在屏幕上</span></p>
<h2><span style="font-family: comic sans ms, sans-serif"><strong><span style="font-size: 18px">检测点3.1</span></strong></span></h2>
<p><span style="font-family: &quot;comic sans ms&quot;, sans-serif; font-size: 16px">(1)在Debug中,用“d 0:0 1f”查看内存,结果如下</span></p>
<p><span style="font-family: comic sans ms, sans-serif"><img src="https://img2018.cnblogs.com/blog/1697845/201909/1697845-20190904221920402-651893421.png" alt="" width="292" height="270"></span></p>
<p><span style="font-family: comic sans ms, sans-serif"><img src="https://img2018.cnblogs.com/blog/1697845/201909/1697845-20190904221954439-708072940.png" alt="" width="603" height="200"></span></p>
<p><span style="font-family: comic sans ms, sans-serif">&nbsp;<img src="https://img2018.cnblogs.com/blog/1697845/201909/1697845-20190904222053421-1879211302.png" alt="" width="509" height="224"></span></p>
<p><span style="font-family: comic sans ms, sans-serif"><img src="https://img2018.cnblogs.com/blog/1697845/201909/1697845-20190904222300381-1386584169.png" alt="" width="565" height="321"></span></p>
<p><span style="font-family: comic sans ms, sans-serif"><img src="https://img2018.cnblogs.com/blog/1697845/201909/1697845-20190904222318354-400831497.png" alt="" width="591" height="280"></span></p>
<p><span style="font-family: comic sans ms, sans-serif"><img src="https://img2018.cnblogs.com/blog/1697845/201909/1697845-20190904222357415-103927073.png" alt="" width="513" height="245"></span></p>
<h2><span style="font-family: comic sans ms, sans-serif">&nbsp;<strong><span style="font-size: 18px">实验二:用机器指令和汇编指令编程</span></strong></span></h2>
<p><span style="font-family: &quot;comic sans ms&quot;, sans-serif; font-size: 16px">(1)用debug,将下面的程序写入内存,逐条执行,根据指令执行后的实际运行情况填空</span></p>
<p><span style="font-family: comic sans ms, sans-serif; font-size: 14px"><img src="https://img2018.cnblogs.com/blog/1697845/201909/1697845-20190908152857832-1760840013.png" alt="" width="426" height="122"></span></p>
<p><span style="font-family: comic sans ms, sans-serif; font-size: 14px">&nbsp;<img src="https://img2018.cnblogs.com/blog/1697845/201909/1697845-20190908152927657-1239159238.png" alt="" width="262" height="266"> </span></p>
<p><span style="font-family: comic sans ms, sans-serif; font-size: 14px"><img src="https://img2018.cnblogs.com/blog/1697845/201909/1697845-20190908152938516-1099027627.png" alt="" width="497" height="144"></span></p>
<p><span style="font-family: comic sans ms, sans-serif">&nbsp;<img src="https://img2018.cnblogs.com/blog/1697845/201909/1697845-20190908153159546-590515329.png" alt="" width="401" height="240"></span></p>
<p><span style="font-family: comic sans ms, sans-serif"><img src="https://img2018.cnblogs.com/blog/1697845/201909/1697845-20190908153216696-1004716352.png" alt="" width="462" height="294"></span></p>
<p><span style="font-family: comic sans ms, sans-serif">&nbsp;<img src="https://img2018.cnblogs.com/blog/1697845/201909/1697845-20190908153102943-1160398033.png" alt="" width="495" height="247"></span></p>
<p><span style="font-family: comic sans ms, sans-serif">&nbsp;<img src="https://img2018.cnblogs.com/blog/1697845/201909/1697845-20190908153250391-97906547.png" alt="" width="549" height="271"></span></p>
<p><span style="font-family: comic sans ms, sans-serif"><img src="https://img2018.cnblogs.com/blog/1697845/201909/1697845-20190908153303972-1860386421.png" alt="" width="480" height="242"></span></p>
<h2><span style="font-family: comic sans ms, sans-serif; font-size: 14pt">&nbsp;<strong>实验四:和loop的使用</strong></span></h2>
<p><span style="font-family: &quot;comic sans ms&quot;, sans-serif; font-size: 16px">1.编程,向内存0:200-0:23F依次传送数据0~63(3FH)。</span></p>
<div class="cnblogs_code"><span style="font-family: &quot;comic sans ms&quot;, sans-serif; font-size: 16px"><img id="code_img_closed_357004ce-f338-4755-abc0-0502ef2f1df1" class="code_img_closed" src="https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif" alt=""><img id="code_img_opened_357004ce-f338-4755-abc0-0502ef2f1df1" class="code_img_opened" style="display: none" src="https://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif" alt=""></span>
<div id="cnblogs_code_open_357004ce-f338-4755-abc0-0502ef2f1df1" class="cnblogs_code_hide">
<pre><span style="font-family: &quot;comic sans ms&quot;, sans-serif; font-size: 16px"><span style="color: rgba(0, 128, 0, 1)">;</span><span style="color: rgba(0, 128, 0, 1)">P121 第五章实验四 (1)</span>
assume <span style="color: rgba(0, 128, 128, 1)">cs:</span><span style="color: rgba(0, 0, 0, 1)">code
code segment
    </span><span style="color: rgba(0, 128, 128, 1)">main:</span>
         <span style="color: rgba(0, 0, 255, 1)">mov</span><span style="color: rgba(0, 0, 0, 1)"> ax,0020h
         </span><span style="color: rgba(0, 0, 255, 1)">mov</span> ds,ax   <span style="color: rgba(0, 128, 0, 1)">;</span><span style="color: rgba(0, 128, 0, 1)">指定段地址0200h</span>

         <span style="color: rgba(0, 0, 255, 1)">mov</span><span style="color: rgba(0, 0, 0, 1)"> bx,0h
         </span><span style="color: rgba(0, 0, 255, 1)">mov</span><span style="color: rgba(0, 0, 0, 1)"> cx,003fh
         </span><span style="color: rgba(0, 0, 255, 1)">mov</span><span style="color: rgba(0, 0, 0, 1)"> ax,0h
    </span><span style="color: rgba(0, 128, 128, 1)">s:</span>   
         <span style="color: rgba(0, 0, 255, 1)">mov</span><span style="color: rgba(0, 0, 0, 1)"> ,al
         </span><span style="color: rgba(0, 0, 255, 1)">inc</span><span style="color: rgba(0, 0, 0, 1)"> bx
         </span><span style="color: rgba(0, 0, 255, 1)">inc</span><span style="color: rgba(0, 0, 0, 1)"> al
         loop s

         </span><span style="color: rgba(0, 0, 255, 1)">mov</span><span style="color: rgba(0, 0, 0, 1)"> ax,4c00h
         </span><span style="color: rgba(0, 0, 255, 1)">int</span><span style="color: rgba(0, 0, 0, 1)"> 21h
    code ends
end main</span></span></pre>
</div>
<span class="cnblogs_code_collapse" style="font-family: &quot;comic sans ms&quot;, sans-serif; font-size: 16px">View Code</span></div>
<p><span style="font-family: comic sans ms, sans-serif"><img src="https://img2018.cnblogs.com/blog/1697845/201909/1697845-20190912131807588-961398443.png" alt="" width="539" height="281"></span></p>
<p><span style="font-family: &quot;comic sans ms&quot;, sans-serif; font-size: 16px">&nbsp;&nbsp;2.编程,向内存0:200-0:23F依次传送数据0~63(3FH),只能使用9条指令。</span></p>
<div class="cnblogs_code"><span style="font-family: &quot;comic sans ms&quot;, sans-serif; font-size: 16px"><img id="code_img_closed_0231c029-86f8-4faf-981c-a82215c29f0b" class="code_img_closed" src="https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif" alt=""><img id="code_img_opened_0231c029-86f8-4faf-981c-a82215c29f0b" class="code_img_opened" style="display: none" src="https://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif" alt=""></span>
<div id="cnblogs_code_open_0231c029-86f8-4faf-981c-a82215c29f0b" class="cnblogs_code_hide">
<pre><span style="font-family: &quot;comic sans ms&quot;, sans-serif; font-size: 16px"><span style="color: rgba(0, 128, 0, 1)">;</span><span style="color: rgba(0, 128, 0, 1)">P121 第五章实验四 (2)</span>
assume <span style="color: rgba(0, 128, 128, 1)">cs:</span><span style="color: rgba(0, 0, 0, 1)">code
code segment
    </span><span style="color: rgba(0, 128, 128, 1)">main:</span>
         <span style="color: rgba(0, 0, 255, 1)">mov</span><span style="color: rgba(0, 0, 0, 1)"> ax,0020h
         </span><span style="color: rgba(0, 0, 255, 1)">mov</span> ds,ax   <span style="color: rgba(0, 128, 0, 1)">;</span><span style="color: rgba(0, 128, 0, 1)">指定段地址0200h</span>
         <span style="color: rgba(0, 0, 255, 1)">mov</span><span style="color: rgba(0, 0, 0, 1)"> bx,0h
         </span><span style="color: rgba(0, 0, 255, 1)">mov</span><span style="color: rgba(0, 0, 0, 1)"> cx,003fh
       </span><span style="color: rgba(0, 128, 128, 1)">s:</span><span style="color: rgba(0, 0, 255, 1)">mov</span><span style="color: rgba(0, 0, 0, 1)"> ,bl
         </span><span style="color: rgba(0, 0, 255, 1)">inc</span><span style="color: rgba(0, 0, 0, 1)"> bl
         loop s
         </span><span style="color: rgba(0, 0, 255, 1)">mov</span><span style="color: rgba(0, 0, 0, 1)"> ax,4c00h
         </span><span style="color: rgba(0, 0, 255, 1)">int</span><span style="color: rgba(0, 0, 0, 1)"> 21h
    code ends
end main</span></span></pre>
</div>
<span class="cnblogs_code_collapse" style="font-family: &quot;comic sans ms&quot;, sans-serif; font-size: 16px">View Code</span></div>
<p><span style="font-family: comic sans ms, sans-serif"><img src="https://img2018.cnblogs.com/blog/1697845/201909/1697845-20190912132720243-1827773171.png" alt="" width="566" height="143"></span></p>
<p><span style="font-family: &quot;comic sans ms&quot;, sans-serif; font-size: 16px">&nbsp;3.补全下面的程序,其功能是将“mov ax,4c00”之前的指令复制到内存0:200处。</span></p>
<div class="cnblogs_code"><span style="font-family: &quot;comic sans ms&quot;, sans-serif; font-size: 16px"><img id="code_img_closed_a13dca80-5085-488f-b329-5fd7c22a0314" class="code_img_closed" src="https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif" alt=""><img id="code_img_opened_a13dca80-5085-488f-b329-5fd7c22a0314" class="code_img_opened" style="display: none" src="https://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif" alt=""></span>
<div id="cnblogs_code_open_a13dca80-5085-488f-b329-5fd7c22a0314" class="cnblogs_code_hide">
<pre><span style="font-family: &quot;comic sans ms&quot;, sans-serif; font-size: 16px">assume <span style="color: rgba(0, 128, 128, 1)">cs:</span><span style="color: rgba(0, 0, 0, 1)">code
code segment
    </span><span style="color: rgba(0, 128, 128, 1)">main:</span>
      <span style="color: rgba(0, 0, 255, 1)">mov</span><span style="color: rgba(0, 0, 0, 1)"> ax,cs
      </span><span style="color: rgba(0, 0, 255, 1)">mov</span><span style="color: rgba(0, 0, 0, 1)"> ds,ax
      
      </span><span style="color: rgba(0, 0, 255, 1)">mov</span><span style="color: rgba(0, 0, 0, 1)"> ax,0020h
      </span><span style="color: rgba(0, 0, 255, 1)">mov</span> es,ax      <span style="color: rgba(0, 128, 0, 1)">;</span><span style="color: rgba(0, 128, 0, 1)">es=0020</span>
      
      <span style="color: rgba(0, 0, 255, 1)">mov</span> bx,<span style="color: rgba(128, 0, 128, 1)">0</span>
      <span style="color: rgba(0, 0, 255, 1)">mov</span><span style="color: rgba(0, 0, 0, 1)"> cx,17h

    </span><span style="color: rgba(0, 128, 128, 1)">s:</span>    <span style="color: rgba(0, 0, 255, 1)">mov</span><span style="color: rgba(0, 0, 0, 1)"> al,
      </span><span style="color: rgba(0, 0, 255, 1)">mov</span> <span style="color: rgba(0, 128, 128, 1)">es:</span><span style="color: rgba(0, 0, 0, 1)">,al
      </span><span style="color: rgba(0, 0, 255, 1)">inc</span><span style="color: rgba(0, 0, 0, 1)"> bx
      loop s

      </span><span style="color: rgba(0, 0, 255, 1)">mov</span><span style="color: rgba(0, 0, 0, 1)"> ax,4c00h
      </span><span style="color: rgba(0, 0, 255, 1)">int</span><span style="color: rgba(0, 0, 0, 1)"> 21h

    code ends
end main</span></span></pre>
</div>
<span class="cnblogs_code_collapse" style="font-family: &quot;comic sans ms&quot;, sans-serif; font-size: 16px">View Code</span></div>
<p><span style="font-family: comic sans ms, sans-serif"><img src="https://img2018.cnblogs.com/blog/1697845/201909/1697845-20190912191110692-1466990616.png" alt="" width="406" height="124"></span></p>
<p><span style="font-family: comic sans ms, sans-serif">&nbsp;&nbsp;<img src="https://img2018.cnblogs.com/blog/1697845/201909/1697845-20190912191117810-1482051435.png" alt="" width="312" height="175"></span></p>
<p><span style="font-family: comic sans ms, sans-serif"><img src="https://img2018.cnblogs.com/blog/1697845/201909/1697845-20190912195831256-1326949964.png" alt="" width="513" height="284"></span></p>
<p><span style="font-family: &quot;comic sans ms&quot;, sans-serif; font-size: 16px">&nbsp;&nbsp;PS:指令的段地址是放在CS里面,所以第一个空是“cs”,由图可以看出这些代码一共长15h,但是cx要赋值17h</span></p>
<h2><span style="font-family: comic sans ms, sans-serif; font-size: 14pt">实验五 编写、调试具体多个段的程序</span></h2>
<p><span style="font-family: &quot;comic sans ms&quot;, sans-serif; font-size: 16px">5)&nbsp;</span></p>
<div class="cnblogs_code"><span style="font-family: &quot;comic sans ms&quot;, sans-serif; font-size: 16px"><img id="code_img_closed_2ac7274c-a4ac-4b11-9c35-a02b379f9420" class="code_img_closed" src="https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif" alt=""><img id="code_img_opened_2ac7274c-a4ac-4b11-9c35-a02b379f9420" class="code_img_opened" style="display: none" src="https://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif" alt=""></span>
<div id="cnblogs_code_open_2ac7274c-a4ac-4b11-9c35-a02b379f9420" class="cnblogs_code_hide">
<pre><span style="font-family: &quot;comic sans ms&quot;, sans-serif; font-size: 16px"><span style="color: rgba(0, 128, 0, 1)">;</span><span style="color: rgba(0, 128, 0, 1)">默认是一次记录到代码段中的</span>
assume <span style="color: rgba(0, 128, 128, 1)">cs:</span><span style="color: rgba(0, 0, 0, 1)">code

a segment
      db </span><span style="color: rgba(128, 0, 128, 1)">1</span>,<span style="color: rgba(128, 0, 128, 1)">2</span>,<span style="color: rgba(128, 0, 128, 1)">3</span>,<span style="color: rgba(128, 0, 128, 1)">4</span>,<span style="color: rgba(128, 0, 128, 1)">5</span>,<span style="color: rgba(128, 0, 128, 1)">6</span>,<span style="color: rgba(128, 0, 128, 1)">7</span>,<span style="color: rgba(128, 0, 128, 1)">8</span><span style="color: rgba(0, 0, 0, 1)">
a ends

b segment
      db </span><span style="color: rgba(128, 0, 128, 1)">1</span>,<span style="color: rgba(128, 0, 128, 1)">2</span>,<span style="color: rgba(128, 0, 128, 1)">3</span>,<span style="color: rgba(128, 0, 128, 1)">4</span>,<span style="color: rgba(128, 0, 128, 1)">5</span>,<span style="color: rgba(128, 0, 128, 1)">6</span>,<span style="color: rgba(128, 0, 128, 1)">7</span>,<span style="color: rgba(128, 0, 128, 1)">8</span><span style="color: rgba(0, 0, 0, 1)">
b ends

cc segment
      db </span><span style="color: rgba(128, 0, 128, 1)">0</span>,<span style="color: rgba(128, 0, 128, 1)">0</span>,<span style="color: rgba(128, 0, 128, 1)">0</span>,<span style="color: rgba(128, 0, 128, 1)">0</span>,<span style="color: rgba(128, 0, 128, 1)">0</span>,<span style="color: rgba(128, 0, 128, 1)">0</span>,<span style="color: rgba(128, 0, 128, 1)">0</span>,<span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">
cc ends

code segment
</span><span style="color: rgba(0, 128, 128, 1)">start:</span><span style="color: rgba(0, 0, 255, 1)">mov</span><span style="color: rgba(0, 0, 0, 1)"> ax,a
      </span><span style="color: rgba(0, 0, 255, 1)">mov</span><span style="color: rgba(0, 0, 0, 1)"> ds,ax
      
      </span><span style="color: rgba(0, 0, 255, 1)">mov</span><span style="color: rgba(0, 0, 0, 1)"> ax,b
      </span><span style="color: rgba(0, 0, 255, 1)">mov</span><span style="color: rgba(0, 0, 0, 1)"> es,ax
      
      </span><span style="color: rgba(0, 0, 255, 1)">mov</span> bx,<span style="color: rgba(128, 0, 128, 1)">0</span>
      <span style="color: rgba(0, 0, 255, 1)">mov</span> cx,<span style="color: rgba(128, 0, 128, 1)">8</span>
      
   <span style="color: rgba(0, 128, 128, 1)">s:</span>   <span style="color: rgba(0, 0, 255, 1)">mov</span> al,<span style="color: rgba(0, 128, 128, 1)">ds:</span><span style="color: rgba(0, 0, 0, 1)">
      </span><span style="color: rgba(0, 0, 255, 1)">add</span> <span style="color: rgba(0, 128, 128, 1)">es:</span><span style="color: rgba(0, 0, 0, 1)">,al
      </span><span style="color: rgba(0, 0, 255, 1)">inc</span><span style="color: rgba(0, 0, 0, 1)"> bx
      loop s

      </span><span style="color: rgba(0, 0, 255, 1)">mov</span><span style="color: rgba(0, 0, 0, 1)"> ax,4c00h
      </span><span style="color: rgba(0, 0, 255, 1)">int</span><span style="color: rgba(0, 0, 0, 1)"> 21h
code ends
end start</span></span></pre>
</div>
<span class="cnblogs_code_collapse" style="font-family: &quot;comic sans ms&quot;, sans-serif; font-size: 16px">View Code</span></div>
<p><span style="font-family: comic sans ms, sans-serif"><img src="https://img2018.cnblogs.com/blog/1697845/201909/1697845-20190915174012839-1785549512.png" alt="" width="682" height="374"></span></p>
<p><span style="font-family: comic sans ms, sans-serif">6)</span></p>
<div class="cnblogs_code"><span style="font-family: &quot;comic sans ms&quot;, sans-serif; font-size: 16px"><img id="code_img_closed_21c836c9-73db-4f70-a9f4-d4c43442713d" class="code_img_closed" src="https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif" alt=""><img id="code_img_opened_21c836c9-73db-4f70-a9f4-d4c43442713d" class="code_img_opened" style="display: none" src="https://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif" alt=""></span>
<div id="cnblogs_code_open_21c836c9-73db-4f70-a9f4-d4c43442713d" class="cnblogs_code_hide">
<pre><span style="font-family: &quot;comic sans ms&quot;, sans-serif; font-size: 16px">assume <span style="color: rgba(0, 128, 128, 1)">cs:</span><span style="color: rgba(0, 0, 0, 1)">code
a segment
      dw </span><span style="color: rgba(128, 0, 128, 1)">1</span>,<span style="color: rgba(128, 0, 128, 1)">2</span>,<span style="color: rgba(128, 0, 128, 1)">3</span>,<span style="color: rgba(128, 0, 128, 1)">4</span>,<span style="color: rgba(128, 0, 128, 1)">5</span>,<span style="color: rgba(128, 0, 128, 1)">6</span>,<span style="color: rgba(128, 0, 128, 1)">7</span>,<span style="color: rgba(128, 0, 128, 1)">8</span><span style="color: rgba(0, 0, 0, 1)">,0ah,0bh,0ch,0dh,0eh,0fh,0ffh
a ends
b segment

      db </span><span style="color: rgba(128, 0, 128, 1)">0</span>,<span style="color: rgba(128, 0, 128, 1)">0</span>,<span style="color: rgba(128, 0, 128, 1)">0</span>,<span style="color: rgba(128, 0, 128, 1)">0</span>,<span style="color: rgba(128, 0, 128, 1)">0</span>,<span style="color: rgba(128, 0, 128, 1)">0</span>,<span style="color: rgba(128, 0, 128, 1)">0</span>,<span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">
b ends
code segment
</span><span style="color: rgba(0, 128, 128, 1)">start:</span><span style="color: rgba(0, 0, 255, 1)">mov</span><span style="color: rgba(0, 0, 0, 1)"> ax,a
      </span><span style="color: rgba(0, 0, 255, 1)">mov</span><span style="color: rgba(0, 0, 0, 1)"> ds,ax
      
      </span><span style="color: rgba(0, 0, 255, 1)">mov</span><span style="color: rgba(0, 0, 0, 1)"> ax,b
      </span><span style="color: rgba(0, 0, 255, 1)">mov</span><span style="color: rgba(0, 0, 0, 1)"> ss,ax
      
      </span><span style="color: rgba(0, 0, 255, 1)">mov</span> sp,<span style="color: rgba(128, 0, 128, 1)">16</span>
      
      <span style="color: rgba(0, 0, 255, 1)">mov</span> cx,<span style="color: rgba(128, 0, 128, 1)">8</span>
      <span style="color: rgba(0, 0, 255, 1)">mov</span> bx,<span style="color: rgba(128, 0, 128, 1)">0</span>
      
   <span style="color: rgba(0, 128, 128, 1)">s:</span>   <span style="color: rgba(0, 0, 255, 1)">push</span> <span style="color: rgba(0, 128, 128, 1)">ds:</span><span style="color: rgba(0, 0, 0, 1)">
      </span><span style="color: rgba(0, 0, 255, 1)">add</span> bx,<span style="color: rgba(128, 0, 128, 1)">2</span><span style="color: rgba(0, 0, 0, 1)">
      loop s
      
      </span><span style="color: rgba(0, 0, 255, 1)">mov</span><span style="color: rgba(0, 0, 0, 1)"> ax,4c00h
      </span><span style="color: rgba(0, 0, 255, 1)">int</span><span style="color: rgba(0, 0, 0, 1)"> 21h
code ends
end start</span></span></pre>
</div>
<span class="cnblogs_code_collapse" style="font-family: &quot;comic sans ms&quot;, sans-serif; font-size: 16px">View Code</span></div>
<p><span style="font-family: comic sans ms, sans-serif"><img src="https://img2018.cnblogs.com/blog/1697845/201909/1697845-20190915181235101-156781488.png" alt="" width="544" height="301"></span></p>
<p><span style="font-family: comic sans ms, sans-serif"><img src="https://img2018.cnblogs.com/blog/1697845/201909/1697845-20190915181012637-1659405974.png" alt="" width="571" height="468"></span></p>
<p><span style="font-family: comic sans ms, sans-serif">&nbsp;</span></p>
<h2><span style="font-family: comic sans ms, sans-serif"><strong><span style="font-size: 18px">实验六:实践课程中的程序</span></strong></span></h2>
<p><span style="font-family: &quot;comic sans ms&quot;, sans-serif; font-size: 16px">(1)7.1</span></p>
<div class="cnblogs_code"><span style="font-family: &quot;comic sans ms&quot;, sans-serif; font-size: 16px"><img id="code_img_closed_535ee275-b3c9-40bc-a4e5-6089f80869e4" class="code_img_closed" src="https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif" alt=""><img id="code_img_opened_535ee275-b3c9-40bc-a4e5-6089f80869e4" class="code_img_opened" style="display: none" src="https://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif" alt=""></span>
<div id="cnblogs_code_open_535ee275-b3c9-40bc-a4e5-6089f80869e4" class="cnblogs_code_hide">
<pre><span style="font-family: &quot;comic sans ms&quot;, sans-serif; font-size: 16px"><span style="color: rgba(0, 128, 0, 1)">;</span><span style="color: rgba(0, 128, 0, 1)">程序7.1 P 139</span>
assume <span style="color: rgba(0, 128, 128, 1)">cs:</span>code,<span style="color: rgba(0, 128, 128, 1)">ds:</span><span style="color: rgba(0, 0, 0, 1)">data

data segment
    db </span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">unIX</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">
    db </span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">foRK</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">
data ends

code segment
    </span><span style="color: rgba(0, 128, 128, 1)">start:</span><span style="color: rgba(0, 0, 255, 1)">mov</span> al,<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">a</span><span style="color: rgba(128, 0, 0, 1)">'</span>
            <span style="color: rgba(0, 0, 255, 1)">mov</span> bl,<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">b</span><span style="color: rgba(128, 0, 0, 1)">'</span>
            
            <span style="color: rgba(0, 0, 255, 1)">mov</span><span style="color: rgba(0, 0, 0, 1)"> ax,4c00h
            </span><span style="color: rgba(0, 0, 255, 1)">int</span><span style="color: rgba(0, 0, 0, 1)"> 21h
code ends
end start</span></span></pre>
</div>
<span class="cnblogs_code_collapse" style="font-family: &quot;comic sans ms&quot;, sans-serif; font-size: 16px">View Code</span></div>
<p><span style="font-family: comic sans ms, sans-serif"><span style="font-size: 16px">&nbsp;</span><span style="font-size: 14px"><img src="https://img2018.cnblogs.com/blog/1697845/201909/1697845-20190921153842470-1110483349.png" alt="" width="549" height="284"></span></span></p>
<p><span style="font-family: &quot;comic sans ms&quot;, sans-serif; font-size: 16px">(2)7.4</span></p>
<div class="cnblogs_code"><span style="font-family: &quot;comic sans ms&quot;, sans-serif; font-size: 16px"><img id="code_img_closed_118e844e-74eb-4122-94ef-24b1c25d2f51" class="code_img_closed" src="https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif" alt=""><img id="code_img_opened_118e844e-74eb-4122-94ef-24b1c25d2f51" class="code_img_opened" style="display: none" src="https://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif" alt=""></span>
<div id="cnblogs_code_open_118e844e-74eb-4122-94ef-24b1c25d2f51" class="cnblogs_code_hide">
<pre><span style="font-family: &quot;comic sans ms&quot;, sans-serif; font-size: 16px"><span style="color: rgba(0, 128, 0, 1)">;</span><span style="color: rgba(0, 128, 0, 1)">大小写转换 P143</span><span style="color: rgba(0, 128, 0, 1)">
;</span><span style="color: rgba(0, 128, 0, 1)"> and or 的使用</span>
assume <span style="color: rgba(0, 128, 128, 1)">cs:</span>codesg,<span style="color: rgba(0, 128, 128, 1)">ds:</span><span style="color: rgba(0, 0, 0, 1)">datasg

datasg segment
    db </span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">BaSiC</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">
    db </span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">iNforMaTiOn</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">
datasg ends

codesg segment
    </span><span style="color: rgba(0, 128, 128, 1)">start:</span><span style="color: rgba(0, 0, 255, 1)">mov</span><span style="color: rgba(0, 0, 0, 1)"> ax,datasg
            </span><span style="color: rgba(0, 0, 255, 1)">mov</span><span style="color: rgba(0, 0, 0, 1)"> ds,ax
            
            </span><span style="color: rgba(0, 0, 255, 1)">mov</span> bx,<span style="color: rgba(128, 0, 128, 1)">0</span>
            <span style="color: rgba(0, 0, 255, 1)">mov</span> cx,<span style="color: rgba(128, 0, 128, 1)">5</span>
            
      <span style="color: rgba(0, 128, 0, 1)">;</span><span style="color: rgba(0, 128, 0, 1)">第一个循环将第一段变成大写</span>
          <span style="color: rgba(0, 128, 128, 1)">s:</span><span style="color: rgba(0, 0, 255, 1)">mov</span><span style="color: rgba(0, 0, 0, 1)"> al,
            </span><span style="color: rgba(0, 0, 255, 1)">and</span> al,11<span style="color: rgba(128, 0, 128, 1)">011111B</span>
            <span style="color: rgba(0, 0, 255, 1)">mov</span><span style="color: rgba(0, 0, 0, 1)"> ,al
            </span><span style="color: rgba(0, 0, 255, 1)">inc</span><span style="color: rgba(0, 0, 0, 1)"> bx
            loop s
            
      </span><span style="color: rgba(0, 128, 0, 1)">;</span><span style="color: rgba(0, 128, 0, 1)">第二个循环将第二段变成小写</span>
            <span style="color: rgba(0, 0, 255, 1)">mov</span> bx,<span style="color: rgba(128, 0, 128, 1)">5</span>
            <span style="color: rgba(0, 0, 255, 1)">mov</span> cx,<span style="color: rgba(128, 0, 128, 1)">11</span>
         <span style="color: rgba(0, 128, 128, 1)">s0:</span><span style="color: rgba(0, 0, 255, 1)">mov</span><span style="color: rgba(0, 0, 0, 1)"> al,
            </span><span style="color: rgba(0, 0, 255, 1)">or</span> al,<span style="color: rgba(128, 0, 128, 1)">00100000B</span>
            <span style="color: rgba(0, 0, 255, 1)">mov</span><span style="color: rgba(0, 0, 0, 1)"> ,al
            </span><span style="color: rgba(0, 0, 255, 1)">inc</span><span style="color: rgba(0, 0, 0, 1)"> bx
            loop s0
            
            </span><span style="color: rgba(0, 0, 255, 1)">mov</span><span style="color: rgba(0, 0, 0, 1)"> ax, 4c00h
            </span><span style="color: rgba(0, 0, 255, 1)">int</span><span style="color: rgba(0, 0, 0, 1)"> 21h
            
codesg ends
end start</span></span></pre>
</div>
<span class="cnblogs_code_collapse" style="font-family: &quot;comic sans ms&quot;, sans-serif; font-size: 16px">View Code</span></div>
<p><span style="font-family: comic sans ms, sans-serif"><img src="https://img2018.cnblogs.com/blog/1697845/201909/1697845-20190921154028791-1264225666.png" alt="" width="568" height="168"></span></p>
<p><span style="font-family: comic sans ms, sans-serif">&nbsp;<img src="https://img2018.cnblogs.com/blog/1697845/201909/1697845-20190921154051320-1755208916.png" alt="" width="449" height="241"></span></p>
<p><span style="font-family: comic sans ms, sans-serif"><img src="https://img2018.cnblogs.com/blog/1697845/201909/1697845-20190921154118272-1073467671.png" alt="" width="480" height="254"></span></p>
<hr>
<h2><span style="font-family: comic sans ms, sans-serif">问题8.1:【图片里的代码没有打完整,等我截完图才发现,懒得改了Orz】</span></h2>
<div class="cnblogs_code"><span style="font-family: &quot;comic sans ms&quot;, sans-serif; font-size: 16px"><img id="code_img_closed_bcc02bd5-8209-40e7-9d9e-0c6d4a0f44ab" class="code_img_closed" src="https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif" alt=""><img id="code_img_opened_bcc02bd5-8209-40e7-9d9e-0c6d4a0f44ab" class="code_img_opened" style="display: none" src="https://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif" alt=""></span>
<div id="cnblogs_code_open_bcc02bd5-8209-40e7-9d9e-0c6d4a0f44ab" class="cnblogs_code_hide">
<pre><span style="font-family: &quot;comic sans ms&quot;, sans-serif; font-size: 16px"><span style="color: rgba(0, 128, 0, 1)">;</span><span style="color: rgba(0, 128, 0, 1)">问题8.1 p 171</span><span style="color: rgba(0, 128, 0, 1)">
;</span><span style="color: rgba(0, 128, 0, 1)"> 100001 / 100 = 1000 …… 1</span><span style="color: rgba(0, 128, 0, 1)">
;</span><span style="color: rgba(0, 128, 0, 1)"> 186A1H / 64H =3E8H …… 1</span>
assume <span style="color: rgba(0, 128, 128, 1)">cs:</span><span style="color: rgba(0, 0, 0, 1)">code
data segment
    dd </span><span style="color: rgba(128, 0, 128, 1)">100001</span><span style="color: rgba(0, 128, 0, 1)">;</span><span style="color: rgba(0, 128, 0, 1)">186A164</span>
    dw <span style="color: rgba(128, 0, 128, 1)">100</span>   <span style="color: rgba(0, 128, 0, 1)">;</span><span style="color: rgba(0, 128, 0, 1)">ax=86A1 dx=00016400 0000</span>
    dw <span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">
data ends

code segment

    </span><span style="color: rgba(0, 128, 128, 1)">start:</span> <span style="color: rgba(0, 0, 255, 1)">mov</span><span style="color: rgba(0, 0, 0, 1)"> ax,data
         </span><span style="color: rgba(0, 0, 255, 1)">mov</span><span style="color: rgba(0, 0, 0, 1)"> ds,axq
         
         </span><span style="color: rgba(0, 0, 255, 1)">mov</span> ax,<span style="color: rgba(0, 128, 128, 1)">ds:</span>[<span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">]
         </span><span style="color: rgba(0, 0, 255, 1)">mov</span> dx,<span style="color: rgba(0, 128, 128, 1)">ds:</span>[<span style="color: rgba(128, 0, 128, 1)">2</span><span style="color: rgba(0, 0, 0, 1)">]
         </span><span style="color: rgba(0, 128, 0, 1)">;</span><span style="color: rgba(0, 128, 0, 1)">ax=86A1 dx=0001</span>
         
         <span style="color: rgba(0, 0, 255, 1)">div</span> word ptr <span style="color: rgba(0, 128, 128, 1)">ds:</span>[<span style="color: rgba(128, 0, 128, 1)">4</span><span style="color: rgba(0, 0, 0, 1)">]
         
         </span><span style="color: rgba(0, 0, 255, 1)">mov</span> <span style="color: rgba(0, 128, 128, 1)">ds:</span>[<span style="color: rgba(128, 0, 128, 1)">6</span><span style="color: rgba(0, 0, 0, 1)">],ax
         
         </span><span style="color: rgba(0, 0, 255, 1)">mov</span><span style="color: rgba(0, 0, 0, 1)"> ax,4c00h
         </span><span style="color: rgba(0, 0, 255, 1)">int</span><span style="color: rgba(0, 0, 0, 1)"> 21h

code ends
end start</span></span></pre>
</div>
<span class="cnblogs_code_collapse" style="font-family: &quot;comic sans ms&quot;, sans-serif; font-size: 16px">View Code</span></div>
<p><span style="font-family: comic sans ms, sans-serif"><img src="https://img2018.cnblogs.com/blog/1697845/201909/1697845-20190921154444375-1839470763.png" alt="" width="964" height="310"></span></p>
<hr>
<h2><span style="font-family: comic sans ms, sans-serif">实验七:【总算是撸出来了好开心,这里要感谢一位师傅,在自闭的时候给了我冷静】</span></h2>
<div class="cnblogs_code"><span style="font-family: comic sans ms, sans-serif"><img id="code_img_closed_7ce10cc4-ecee-4588-a498-9c55e03b658e" class="code_img_closed" src="https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif" alt=""><img id="code_img_opened_7ce10cc4-ecee-4588-a498-9c55e03b658e" class="code_img_opened" style="display: none" src="https://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif" alt=""></span>
<div id="cnblogs_code_open_7ce10cc4-ecee-4588-a498-9c55e03b658e" class="cnblogs_code_hide">
<pre><span style="font-family: comic sans ms, sans-serif"><span style="color: rgba(0, 128, 0, 1)">;</span><span style="color: rgba(0, 128, 0, 1)">实验七</span>
assume <span style="color: rgba(0, 128, 128, 1)">cs:</span><span style="color: rgba(0, 0, 0, 1)">codesg

data segment
    db </span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">1975</span><span style="color: rgba(128, 0, 0, 1)">'</span>,<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">1976</span><span style="color: rgba(128, 0, 0, 1)">'</span>,<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">1977</span><span style="color: rgba(128, 0, 0, 1)">'</span>,<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">1978</span><span style="color: rgba(128, 0, 0, 1)">'</span>,<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">1979</span><span style="color: rgba(128, 0, 0, 1)">'</span>,<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">1980</span><span style="color: rgba(128, 0, 0, 1)">'</span>,<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">1981</span><span style="color: rgba(128, 0, 0, 1)">'</span>,<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">1982</span><span style="color: rgba(128, 0, 0, 1)">'</span>,<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">1983</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">
    db </span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">1984</span><span style="color: rgba(128, 0, 0, 1)">'</span>,<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">1985</span><span style="color: rgba(128, 0, 0, 1)">'</span>,<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">1986</span><span style="color: rgba(128, 0, 0, 1)">'</span>,<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">1987</span><span style="color: rgba(128, 0, 0, 1)">'</span>,<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">1988</span><span style="color: rgba(128, 0, 0, 1)">'</span>,<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">1989</span><span style="color: rgba(128, 0, 0, 1)">'</span>,<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">1990</span><span style="color: rgba(128, 0, 0, 1)">'</span>,<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">1991</span><span style="color: rgba(128, 0, 0, 1)">'</span>,<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">1992</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">
    db </span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">1993</span><span style="color: rgba(128, 0, 0, 1)">'</span>,<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">1994</span><span style="color: rgba(128, 0, 0, 1)">'</span>,<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">1995</span><span style="color: rgba(128, 0, 0, 1)">'</span>
    <span style="color: rgba(0, 128, 0, 1)">;</span><span style="color: rgba(0, 128, 0, 1)">年份:每一个一个4字节,4*21   【0-53H】 </span>
<span style="color: rgba(0, 0, 0, 1)">   
    dd </span><span style="color: rgba(128, 0, 128, 1)">16</span>,<span style="color: rgba(128, 0, 128, 1)">22</span>,<span style="color: rgba(128, 0, 128, 1)">382</span>,<span style="color: rgba(128, 0, 128, 1)">1356</span>,<span style="color: rgba(128, 0, 128, 1)">2390</span>,<span style="color: rgba(128, 0, 128, 1)">8000</span>,<span style="color: rgba(128, 0, 128, 1)">16000</span>,<span style="color: rgba(128, 0, 128, 1)">24486</span>,<span style="color: rgba(128, 0, 128, 1)">50065</span>,<span style="color: rgba(128, 0, 128, 1)">97479</span>,<span style="color: rgba(128, 0, 128, 1)">140417</span>,<span style="color: rgba(128, 0, 128, 1)">19514</span><span style="color: rgba(0, 0, 0, 1)">
    dd </span><span style="color: rgba(128, 0, 128, 1)">345980</span>,<span style="color: rgba(128, 0, 128, 1)">590827</span>,<span style="color: rgba(128, 0, 128, 1)">803530</span>,<span style="color: rgba(128, 0, 128, 1)">1183000</span>,<span style="color: rgba(128, 0, 128, 1)">1843000</span>,<span style="color: rgba(128, 0, 128, 1)">2759000</span>,<span style="color: rgba(128, 0, 128, 1)">3753000</span>,<span style="color: rgba(128, 0, 128, 1)">4649000</span>,<span style="color: rgba(128, 0, 128, 1)">5937000</span>
    <span style="color: rgba(0, 128, 0, 1)">;</span><span style="color: rgba(0, 128, 0, 1)">每一个一个4字节,4*21 【54H-0A7H】</span>
<span style="color: rgba(0, 0, 0, 1)">   
    dw </span><span style="color: rgba(128, 0, 128, 1)">3</span>,<span style="color: rgba(128, 0, 128, 1)">7</span>,<span style="color: rgba(128, 0, 128, 1)">9</span>,<span style="color: rgba(128, 0, 128, 1)">13</span>,<span style="color: rgba(128, 0, 128, 1)">28</span>,<span style="color: rgba(128, 0, 128, 1)">38</span>,<span style="color: rgba(128, 0, 128, 1)">130</span>,<span style="color: rgba(128, 0, 128, 1)">220</span>,<span style="color: rgba(128, 0, 128, 1)">476</span>,<span style="color: rgba(128, 0, 128, 1)">778</span>,<span style="color: rgba(128, 0, 128, 1)">1001</span>,<span style="color: rgba(128, 0, 128, 1)">1442</span>,<span style="color: rgba(128, 0, 128, 1)">2258</span>,<span style="color: rgba(128, 0, 128, 1)">2793</span>,<span style="color: rgba(128, 0, 128, 1)">4037</span>,<span style="color: rgba(128, 0, 128, 1)">5635</span>,<span style="color: rgba(128, 0, 128, 1)">8226</span><span style="color: rgba(0, 0, 0, 1)">
    dw </span><span style="color: rgba(128, 0, 128, 1)">11542</span>,<span style="color: rgba(128, 0, 128, 1)">14430</span>,<span style="color: rgba(128, 0, 128, 1)">15257</span>,<span style="color: rgba(128, 0, 128, 1)">17800</span>
    <span style="color: rgba(0, 128, 0, 1)">;</span><span style="color: rgba(0, 128, 0, 1)">员工数:每一个两个字节,2*21 【0A8H-H】</span>
<span style="color: rgba(0, 0, 0, 1)">   
data ends

table segment
    db </span><span style="color: rgba(128, 0, 128, 1)">21</span> dup(<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">year summ ne ?? </span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">)
table ends


codesg segment
    </span><span style="color: rgba(0, 128, 128, 1)">start:</span>
      <span style="color: rgba(0, 0, 255, 1)">mov</span><span style="color: rgba(0, 0, 0, 1)"> ax,data
      </span><span style="color: rgba(0, 0, 255, 1)">mov</span><span style="color: rgba(0, 0, 0, 1)"> ds,ax
      
      </span><span style="color: rgba(0, 0, 255, 1)">mov</span><span style="color: rgba(0, 0, 0, 1)"> ax,table
      </span><span style="color: rgba(0, 0, 255, 1)">mov</span><span style="color: rgba(0, 0, 0, 1)"> es,ax
      </span><span style="color: rgba(0, 128, 0, 1)">;</span><span style="color: rgba(0, 128, 0, 1)">定义好了数据段</span>
      
      <span style="color: rgba(0, 0, 255, 1)">mov</span> cx,<span style="color: rgba(128, 0, 128, 1)">21</span>
      <span style="color: rgba(0, 0, 255, 1)">mov</span> bx,<span style="color: rgba(128, 0, 128, 1)">0</span>
      <span style="color: rgba(0, 0, 255, 1)">mov</span> si,<span style="color: rgba(128, 0, 128, 1)">0</span>
      <span style="color: rgba(0, 0, 255, 1)">mov</span> di,<span style="color: rgba(128, 0, 128, 1)">0</span>
      <span style="color: rgba(0, 0, 255, 1)">mov</span> ax,<span style="color: rgba(128, 0, 128, 1)">0</span>
      <span style="color: rgba(0, 0, 255, 1)">mov</span><span style="color: rgba(0, 0, 0, 1)"> ss,ax
      </span><span style="color: rgba(0, 0, 255, 1)">mov</span><span style="color: rgba(0, 0, 0, 1)"> sp,2003H
      </span><span style="color: rgba(0, 128, 128, 1)">s:</span>
            
            <span style="color: rgba(0, 0, 255, 1)">push</span><span style="color: rgba(0, 0, 0, 1)"> cx
            
            </span><span style="color: rgba(0, 0, 255, 1)">mov</span> ax,<span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">
            </span><span style="color: rgba(0, 0, 255, 1)">mov</span> <span style="color: rgba(0, 128, 128, 1)">es:</span><span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">,ax
            
            </span><span style="color: rgba(0, 0, 255, 1)">mov</span> ax,<span style="color: rgba(128, 0, 128, 1)">0</span>
            </span><span style="color: rgba(0, 0, 255, 1)">mov</span> <span style="color: rgba(0, 128, 128, 1)">es:</span><span style="color: rgba(128, 0, 128, 1)">2</span><span style="color: rgba(0, 0, 0, 1)">,ax
      
            </span><span style="color: rgba(0, 128, 0, 1)">;</span><span style="color: rgba(0, 128, 0, 1)">年份赋值:每一次赋一个字,执行两次,完成四个字节的赋值,si来遍历年份</span>
            
            <span style="color: rgba(0, 0, 255, 1)">mov</span><span style="color: rgba(0, 0, 0, 1)"> ax,54H
            </span><span style="color: rgba(0, 0, 255, 1)">mov</span> <span style="color: rgba(0, 128, 128, 1)">es:</span><span style="color: rgba(128, 0, 128, 1)">5</span><span style="color: rgba(0, 0, 0, 1)">,ax
      
            </span><span style="color: rgba(0, 0, 255, 1)">mov</span> ax,54H
            </span><span style="color: rgba(0, 0, 255, 1)">mov</span> <span style="color: rgba(0, 128, 128, 1)">es:</span><span style="color: rgba(128, 0, 128, 1)">7</span><span style="color: rgba(0, 0, 0, 1)">,ax
            
      
            </span><span style="color: rgba(0, 128, 0, 1)">;</span><span style="color: rgba(0, 128, 0, 1)">收入赋值:每一次赋一个字,执行两次,完成四个字节的赋值</span>
            
            <span style="color: rgba(0, 0, 255, 1)">mov</span><span style="color: rgba(0, 0, 0, 1)"> ax,0A8H
            </span><span style="color: rgba(0, 0, 255, 1)">mov</span> <span style="color: rgba(0, 128, 128, 1)">es:</span><span style="color: rgba(128, 0, 128, 1)">10</span><span style="color: rgba(0, 0, 0, 1)">,ax
      
            </span><span style="color: rgba(0, 128, 0, 1)">;</span><span style="color: rgba(0, 128, 0, 1)">雇员赋值:每一次赋一个字,执行一次,完成两个字节的赋值</span>
                        
            <span style="color: rgba(0, 0, 255, 1)">mov</span><span style="color: rgba(0, 0, 0, 1)"> ax,54H
            </span><span style="color: rgba(0, 0, 255, 1)">mov</span> dx,54H   <span style="color: rgba(0, 128, 0, 1)">;</span><span style="color: rgba(0, 128, 0, 1)">赋值被除数</span>
            <span style="color: rgba(0, 0, 255, 1)">mov</span><span style="color: rgba(0, 0, 0, 1)"> cx,0A8H
            
            </span><span style="color: rgba(0, 0, 255, 1)">div</span><span style="color: rgba(0, 0, 0, 1)"> word ptr cx
            </span><span style="color: rgba(0, 0, 255, 1)">pop</span><span style="color: rgba(0, 0, 0, 1)"> cx
            
            </span><span style="color: rgba(0, 0, 255, 1)">mov</span> <span style="color: rgba(0, 128, 128, 1)">es:</span><span style="color: rgba(128, 0, 128, 1)">13</span><span style="color: rgba(0, 0, 0, 1)">,al
            
            </span><span style="color: rgba(0, 0, 255, 1)">add</span> bx,<span style="color: rgba(128, 0, 128, 1)">16</span> <span style="color: rgba(0, 128, 0, 1)">;</span><span style="color: rgba(0, 128, 0, 1)">用bx控制行</span>
            <span style="color: rgba(0, 0, 255, 1)">add</span> si,<span style="color: rgba(128, 0, 128, 1)">4</span><span style="color: rgba(0, 128, 0, 1)">;</span><span style="color: rgba(0, 128, 0, 1)">用si控制年份和收入</span>
            <span style="color: rgba(0, 0, 255, 1)">add</span> di,<span style="color: rgba(128, 0, 128, 1)">2</span><span style="color: rgba(0, 128, 0, 1)">;</span><span style="color: rgba(0, 128, 0, 1)">用di控制雇员    </span>
<span style="color: rgba(0, 0, 0, 1)">      loop s
   
      </span><span style="color: rgba(0, 0, 255, 1)">mov</span><span style="color: rgba(0, 0, 0, 1)"> ax,4c00H
      </span><span style="color: rgba(0, 0, 255, 1)">int</span><span style="color: rgba(0, 0, 0, 1)"> 21H
codesg ends
end start</span></span></pre>
</div>
<span class="cnblogs_code_collapse" style="font-family: comic sans ms, sans-serif">View Code</span></div>
<p><span style="font-family: comic sans ms, sans-serif"><img src="https://img2018.cnblogs.com/blog/1697845/201909/1697845-20190921192010688-1204863709.png" alt="" width="587" height="174"></span></p>
<hr>
<h2><span style="font-family: comic sans ms, sans-serif">实验八:</span></h2>
<p><span style="font-family: &quot;comic sans ms&quot;, sans-serif; font-size: 16px">八没啥好说的,直接debug一下就可以了,值得一提的是jmp放的是偏移地址,而且 “ -u ” 的时候,要加 “ 0 ”才会显示start前的指令</span></p>
<hr>
<h2><span style="font-family: comic sans ms, sans-serif">实验九:显示绿色、红底绿色、白底蓝色的welcome to masm!</span></h2>
<ul>
<li><span style="font-family: &quot;comic sans ms&quot;, sans-serif; font-size: 16px">我先用python脚本写出了“welcome.....”的十六进制表示</span></li>
</ul>
<div class="cnblogs_code"><span style="font-family: &quot;comic sans ms&quot;, sans-serif; font-size: 16px"><img id="code_img_closed_e1fbf981-9287-4970-88ea-9f6d3b7b7329" class="code_img_closed" src="https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif" alt=""><img id="code_img_opened_e1fbf981-9287-4970-88ea-9f6d3b7b7329" class="code_img_opened" style="display: none" src="https://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif" alt=""></span>
<div id="cnblogs_code_open_e1fbf981-9287-4970-88ea-9f6d3b7b7329" class="cnblogs_code_hide">
<pre><span style="font-family: &quot;comic sans ms&quot;, sans-serif; font-size: 16px">u=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">welcome to masm!</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">
strs</span>=<span style="color: rgba(128, 0, 0, 1)">""</span>

<span style="color: rgba(0, 128, 0, 1)">#</span><span style="color: rgba(0, 128, 0, 1)"> 绿字</span><span style="color: rgba(0, 128, 0, 1)">
#</span><span style="color: rgba(0, 128, 0, 1)"> for i in u:</span><span style="color: rgba(0, 128, 0, 1)">
#</span><span style="color: rgba(0, 128, 0, 1)">   strs=strs+str(hex(ord(i)))+"h,"+"2h"+","</span><span style="color: rgba(0, 128, 0, 1)">
#</span><span style="color: rgba(0, 128, 0, 1)"> print(strs)</span><span style="color: rgba(0, 128, 0, 1)">
#</span><span style="color: rgba(0, 128, 0, 1)"> print(len(strs.split(",")))</span>

<span style="color: rgba(0, 128, 0, 1)">#</span><span style="color: rgba(0, 128, 0, 1)"> 绿地红字</span><span style="color: rgba(0, 128, 0, 1)">
#</span><span style="color: rgba(0, 128, 0, 1)"> for i in u:</span><span style="color: rgba(0, 128, 0, 1)">
#</span><span style="color: rgba(0, 128, 0, 1)">   strs=strs+str(hex(ord(i)))+"h,"+"24h"+","</span><span style="color: rgba(0, 128, 0, 1)">
#</span><span style="color: rgba(0, 128, 0, 1)"> print(strs)</span><span style="color: rgba(0, 128, 0, 1)">
#</span><span style="color: rgba(0, 128, 0, 1)"> print(len(strs.split(",")))</span>

<span style="color: rgba(0, 128, 0, 1)">#</span><span style="color: rgba(0, 128, 0, 1)"> 3.白底蓝字</span>
<span style="color: rgba(0, 0, 255, 1)">for</span> i <span style="color: rgba(0, 0, 255, 1)">in</span><span style="color: rgba(0, 0, 0, 1)"> u:
    strs</span>=strs+str(hex(ord(i)))+<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">h,</span><span style="color: rgba(128, 0, 0, 1)">"</span>+<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">0F1h</span><span style="color: rgba(128, 0, 0, 1)">"</span>+<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">,</span><span style="color: rgba(128, 0, 0, 1)">"</span>
<span style="color: rgba(0, 0, 255, 1)">print</span><span style="color: rgba(0, 0, 0, 1)">(strs)
</span><span style="color: rgba(0, 0, 255, 1)">print</span>(len(strs.split(<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">,</span><span style="color: rgba(128, 0, 0, 1)">"</span>)))</span></pre>
</div>
<span class="cnblogs_code_collapse" style="font-family: &quot;comic sans ms&quot;, sans-serif; font-size: 16px">View Code</span></div>
<ul>
<li><span style="font-family: &quot;comic sans ms&quot;, sans-serif; font-size: 16px">&nbsp;然后再是写asm</span></li>
</ul>
<div class="cnblogs_code"><span style="font-family: &quot;comic sans ms&quot;, sans-serif; font-size: 16px"><img id="code_img_closed_bb137109-9c30-4ac5-aabd-34f759c52d54" class="code_img_closed" src="https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif" alt=""><img id="code_img_opened_bb137109-9c30-4ac5-aabd-34f759c52d54" class="code_img_opened" style="display: none" src="https://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif" alt=""></span>
<div id="cnblogs_code_open_bb137109-9c30-4ac5-aabd-34f759c52d54" class="cnblogs_code_hide">
<pre><span style="font-family: &quot;comic sans ms&quot;, sans-serif; font-size: 16px"><span style="color: rgba(0, 128, 0, 1)">;</span><span style="color: rgba(0, 128, 0, 1)">实验9</span>
assume <span style="color: rgba(0, 128, 128, 1)">cs:</span><span style="color: rgba(0, 0, 0, 1)">code
data1 segment
   </span><span style="color: rgba(0, 128, 0, 1)">;</span><span style="color: rgba(0, 128, 0, 1)">1.绿底字体</span>
<span style="color: rgba(0, 0, 0, 1)">   db 77h,2h,65h,2h,6ch,2h,63h,2h,6fh,2h,6dh,2h,65h,2h,20h,2h,74h,2h,6fh,2h,20h,2h,6dh,2h,61h,2h,73h,2h,6dh,2h,21h,2h
data1 ends
data2 segment
</span><span style="color: rgba(0, 128, 0, 1)">;</span><span style="color: rgba(0, 128, 0, 1)">2.绿底红字</span>
<span style="color: rgba(0, 0, 0, 1)">   db 77h,24h,65h,24h,6ch,24h,63h,24h,6fh,24h,6dh,24h,65h,24h,20h,24h,74h,24h,6fh,24h,20h,24h,6dh,24h,61h,24h,73h,24h,6dh,24h,21h,24h
data2 ends

data3 segment
</span><span style="color: rgba(0, 128, 0, 1)">;</span><span style="color: rgba(0, 128, 0, 1)">3.白底蓝字</span>
<span style="color: rgba(0, 0, 0, 1)">   db 77h,0F1h,65h,0F1h,6ch,0F1h,63h,0F1h,6fh,0F1h,6dh,0F1h,65h,0F1h,20h,0F1h,74h,0F1h,6fh,0F1h,20h,0F1h,6dh,0F1h,61h,0F1h,73h,0F1h,6dh,0F1h,21h,0F1h
data3 ends
code segment
    </span><span style="color: rgba(0, 128, 128, 1)">start:</span>
      <span style="color: rgba(0, 0, 255, 1)">mov</span><span style="color: rgba(0, 0, 0, 1)"> ax,0b800h
      </span><span style="color: rgba(0, 0, 255, 1)">mov</span><span style="color: rgba(0, 0, 0, 1)"> ds,ax
      
      </span><span style="color: rgba(0, 128, 0, 1)">;</span><span style="color: rgba(0, 128, 0, 1)">1.绿底字体</span>
      <span style="color: rgba(0, 0, 255, 1)">mov</span><span style="color: rgba(0, 0, 0, 1)"> ax,data1
      </span><span style="color: rgba(0, 0, 255, 1)">mov</span><span style="color: rgba(0, 0, 0, 1)"> es,ax
      
      </span><span style="color: rgba(0, 0, 255, 1)">mov</span> cx,<span style="color: rgba(128, 0, 128, 1)">32</span>
      <span style="color: rgba(0, 0, 255, 1)">mov</span> bx,<span style="color: rgba(128, 0, 128, 1)">0</span>
      
      <span style="color: rgba(0, 128, 128, 1)">s1:</span>
      <span style="color: rgba(0, 0, 255, 1)">mov</span> al,<span style="color: rgba(0, 128, 128, 1)">es:</span><span style="color: rgba(0, 0, 0, 1)">
      </span><span style="color: rgba(0, 0, 255, 1)">mov</span> <span style="color: rgba(0, 128, 128, 1)">ds:</span><span style="color: rgba(0, 0, 0, 1)">,al
      </span><span style="color: rgba(0, 0, 255, 1)">inc</span><span style="color: rgba(0, 0, 0, 1)"> bx
      loop s1
      
      </span><span style="color: rgba(0, 128, 0, 1)">;</span><span style="color: rgba(0, 128, 0, 1)">2.绿底红字</span>
      <span style="color: rgba(0, 0, 255, 1)">mov</span><span style="color: rgba(0, 0, 0, 1)"> ax,data2
      </span><span style="color: rgba(0, 0, 255, 1)">mov</span><span style="color: rgba(0, 0, 0, 1)"> es,ax
      
      </span><span style="color: rgba(0, 0, 255, 1)">mov</span> cx,<span style="color: rgba(128, 0, 128, 1)">32</span>
      <span style="color: rgba(0, 0, 255, 1)">mov</span> bx,<span style="color: rgba(128, 0, 128, 1)">0</span>
      
      <span style="color: rgba(0, 128, 128, 1)">s2:</span>
      <span style="color: rgba(0, 0, 255, 1)">mov</span> al,<span style="color: rgba(0, 128, 128, 1)">es:</span><span style="color: rgba(0, 0, 0, 1)">
      </span><span style="color: rgba(0, 0, 255, 1)">mov</span> <span style="color: rgba(0, 128, 128, 1)">ds:</span><span style="color: rgba(0, 0, 0, 1)">,al
      </span><span style="color: rgba(0, 0, 255, 1)">inc</span><span style="color: rgba(0, 0, 0, 1)"> bx
      loop s2
      
      </span><span style="color: rgba(0, 128, 0, 1)">;</span><span style="color: rgba(0, 128, 0, 1)">3.白底蓝字</span>
      <span style="color: rgba(0, 0, 255, 1)">mov</span><span style="color: rgba(0, 0, 0, 1)"> ax,data3
      </span><span style="color: rgba(0, 0, 255, 1)">mov</span><span style="color: rgba(0, 0, 0, 1)"> es,ax
      
      </span><span style="color: rgba(0, 0, 255, 1)">mov</span> cx,<span style="color: rgba(128, 0, 128, 1)">32</span>
      <span style="color: rgba(0, 0, 255, 1)">mov</span> bx,<span style="color: rgba(128, 0, 128, 1)">0</span>
      
      <span style="color: rgba(0, 128, 128, 1)">s3:</span>
      <span style="color: rgba(0, 0, 255, 1)">mov</span> al,<span style="color: rgba(0, 128, 128, 1)">es:</span><span style="color: rgba(0, 0, 0, 1)">
      </span><span style="color: rgba(0, 0, 255, 1)">mov</span> <span style="color: rgba(0, 128, 128, 1)">ds:</span><span style="color: rgba(0, 0, 0, 1)">,al
      </span><span style="color: rgba(0, 0, 255, 1)">inc</span><span style="color: rgba(0, 0, 0, 1)"> bx
      loop s3
      
      </span><span style="color: rgba(0, 0, 255, 1)">mov</span><span style="color: rgba(0, 0, 0, 1)"> ax,4c00h
      </span><span style="color: rgba(0, 0, 255, 1)">int</span><span style="color: rgba(0, 0, 0, 1)"> 21h
code ends

end start</span></span></pre>
</div>
<span class="cnblogs_code_collapse" style="font-family: &quot;comic sans ms&quot;, sans-serif; font-size: 16px">View Code</span></div>
<p><span style="font-family: comic sans ms, sans-serif">&nbsp;<img src="https://img2018.cnblogs.com/blog/1697845/201909/1697845-20190927123425841-523341975.png" alt="" width="512" height="279"></span></p>
<p><span style="font-family: comic sans ms, sans-serif">&nbsp;<img src="https://img2018.cnblogs.com/blog/1697845/201909/1697845-20190927143247187-692494563.png" alt="" width="517" height="296"></span></p>
<p><span style="font-family: comic sans ms, sans-serif">&nbsp;</span></p>
<p><span style="font-family: comic sans ms, sans-serif">&nbsp;<img src="https://img2018.cnblogs.com/blog/1697845/201909/1697845-20190927143333564-1079013491.png" alt="" width="514" height="300"></span></p>
<hr>
<h3><span style="font-family: comic sans ms, sans-serif">10.10 参数和结果传递的问题</span></h3>
<p><span style="font-family: &quot;comic sans ms&quot;, sans-serif; font-size: 16px">这里我改了一下代码&nbsp; &nbsp;<strong>mov .2,dx</strong>&nbsp; &nbsp;&nbsp;的时候居然报错有点迷</span></p>
<div class="cnblogs_code"><span style="font-family: &quot;comic sans ms&quot;, sans-serif; font-size: 16px"><img id="code_img_closed_2830ecff-771a-4b9d-ab17-ac8643742b31" class="code_img_closed" src="https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif" alt=""><img id="code_img_opened_2830ecff-771a-4b9d-ab17-ac8643742b31" class="code_img_opened" style="display: none" src="https://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif" alt=""></span>
<div id="cnblogs_code_open_2830ecff-771a-4b9d-ab17-ac8643742b31" class="cnblogs_code_hide">
<pre><span style="font-family: &quot;comic sans ms&quot;, sans-serif; font-size: 16px"><span style="color: rgba(0, 128, 0, 1)">;</span><span style="color: rgba(0, 128, 0, 1)">P201</span>
assume <span style="color: rgba(0, 128, 128, 1)">cs:</span><span style="color: rgba(0, 0, 0, 1)">code
    data segment
      dw </span><span style="color: rgba(128, 0, 128, 1)">1</span>,<span style="color: rgba(128, 0, 128, 1)">2</span>,<span style="color: rgba(128, 0, 128, 1)">3</span>,<span style="color: rgba(128, 0, 128, 1)">4</span>,<span style="color: rgba(128, 0, 128, 1)">5</span>,<span style="color: rgba(128, 0, 128, 1)">6</span>,<span style="color: rgba(128, 0, 128, 1)">7</span>,<span style="color: rgba(128, 0, 128, 1)">8</span><span style="color: rgba(0, 0, 0, 1)">
      dd </span><span style="color: rgba(128, 0, 128, 1)">0</span>,<span style="color: rgba(128, 0, 128, 1)">0</span>,<span style="color: rgba(128, 0, 128, 1)">0</span>,<span style="color: rgba(128, 0, 128, 1)">0</span>,<span style="color: rgba(128, 0, 128, 1)">0</span>,<span style="color: rgba(128, 0, 128, 1)">0</span>,<span style="color: rgba(128, 0, 128, 1)">0</span>,<span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">
    data ends
   
    code segment
      </span><span style="color: rgba(0, 128, 128, 1)">start:</span>
            <span style="color: rgba(0, 0, 255, 1)">mov</span><span style="color: rgba(0, 0, 0, 1)"> ax,data
            </span><span style="color: rgba(0, 0, 255, 1)">mov</span><span style="color: rgba(0, 0, 0, 1)"> ds,ax
            </span><span style="color: rgba(0, 0, 255, 1)">mov</span> si,<span style="color: rgba(128, 0, 128, 1)">0</span>
            <span style="color: rgba(0, 0, 255, 1)">mov</span> di,<span style="color: rgba(128, 0, 128, 1)">16</span>
            
            <span style="color: rgba(0, 0, 255, 1)">mov</span> cx,<span style="color: rgba(128, 0, 128, 1)">8</span>
      <span style="color: rgba(0, 128, 128, 1)">s:</span>   
            <span style="color: rgba(0, 0, 255, 1)">mov</span><span style="color: rgba(0, 0, 0, 1)"> bx,
            </span><span style="color: rgba(0, 0, 255, 1)">call</span><span style="color: rgba(0, 0, 0, 1)"> cube
            </span><span style="color: rgba(0, 0, 255, 1)">mov</span><span style="color: rgba(0, 0, 0, 1)"> ,ax
            </span><span style="color: rgba(0, 0, 255, 1)">mov</span> ,dx
            </span><span style="color: rgba(0, 0, 255, 1)">add</span> si,<span style="color: rgba(128, 0, 128, 1)">2</span>
            <span style="color: rgba(0, 0, 255, 1)">add</span> di,<span style="color: rgba(128, 0, 128, 1)">4</span><span style="color: rgba(0, 0, 0, 1)">
            loop s
            
            </span><span style="color: rgba(0, 0, 255, 1)">mov</span><span style="color: rgba(0, 0, 0, 1)"> ax,4c00h
            </span><span style="color: rgba(0, 0, 255, 1)">int</span><span style="color: rgba(0, 0, 0, 1)"> 21h
            
      </span><span style="color: rgba(0, 128, 128, 1)">cube:</span>   <span style="color: rgba(0, 0, 255, 1)">mov</span><span style="color: rgba(0, 0, 0, 1)"> ax,bx
                </span><span style="color: rgba(0, 0, 255, 1)">mul</span><span style="color: rgba(0, 0, 0, 1)"> bx
                </span><span style="color: rgba(0, 0, 255, 1)">mul</span><span style="color: rgba(0, 0, 0, 1)"> bx
                </span><span style="color: rgba(0, 0, 255, 1)">ret</span><span style="color: rgba(0, 0, 0, 1)">
    code ends
    end start</span></span></pre>
</div>
<span class="cnblogs_code_collapse" style="font-family: &quot;comic sans ms&quot;, sans-serif; font-size: 16px">View Code</span></div>
<p><span style="font-family: comic sans ms, sans-serif"><img src="https://img2018.cnblogs.com/blog/1697845/201910/1697845-20191002104951599-1051827508.png" alt="" width="456" height="137"></span></p>
<p><span style="font-family: comic sans ms, sans-serif"><img src="https://img2018.cnblogs.com/blog/1697845/201910/1697845-20191002105901676-2024694944.png" alt="" width="589" height="88"></span></p>
<p><span style="font-family: comic sans ms, sans-serif"><img src="https://img2018.cnblogs.com/blog/1697845/201910/1697845-20191002104803738-1809845309.png" alt="" width="654" height="135"></span></p>
<hr>
<p><span style="font-family: comic sans ms, sans-serif">&nbsp;</span></p>
<h3><span style="font-family: comic sans ms, sans-serif">10.11 批量数据的传递</span></h3>
<div class="cnblogs_code"><span style="font-family: &quot;comic sans ms&quot;, sans-serif; font-size: 16px"><img id="code_img_closed_23b4f0cc-59b5-4ade-93c0-2e798a399f33" class="code_img_closed" src="https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif" alt=""><img id="code_img_opened_23b4f0cc-59b5-4ade-93c0-2e798a399f33" class="code_img_opened" style="display: none" src="https://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif" alt=""></span>
<div id="cnblogs_code_open_23b4f0cc-59b5-4ade-93c0-2e798a399f33" class="cnblogs_code_hide">
<pre><span style="font-family: &quot;comic sans ms&quot;, sans-serif; font-size: 16px">assume <span style="color: rgba(0, 128, 128, 1)">cs:</span><span style="color: rgba(0, 0, 0, 1)">code

data segment
    db </span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">conversation</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">
data ends

code segment
    </span><span style="color: rgba(0, 128, 128, 1)">start:</span>
      <span style="color: rgba(0, 0, 255, 1)">mov</span><span style="color: rgba(0, 0, 0, 1)"> ax,data
      </span><span style="color: rgba(0, 0, 255, 1)">mov</span> ds,ax   <span style="color: rgba(0, 128, 0, 1)">;</span><span style="color: rgba(0, 128, 0, 1)">ds赋值</span>
      
      <span style="color: rgba(0, 0, 255, 1)">mov</span> si,<span style="color: rgba(128, 0, 128, 1)">0</span>
      <span style="color: rgba(0, 0, 255, 1)">mov</span> cx,<span style="color: rgba(128, 0, 128, 1)">12</span>    <span style="color: rgba(0, 128, 0, 1)">;</span><span style="color: rgba(0, 128, 0, 1)">设置循环体</span>
      <span style="color: rgba(0, 0, 255, 1)">call</span> capital   <span style="color: rgba(0, 128, 0, 1)">;</span><span style="color: rgba(0, 128, 0, 1)">调用函数</span>
      
      <span style="color: rgba(0, 0, 255, 1)">mov</span><span style="color: rgba(0, 0, 0, 1)"> ax,4c00h
      </span><span style="color: rgba(0, 0, 255, 1)">int</span><span style="color: rgba(0, 0, 0, 1)"> 21h
   
    </span><span style="color: rgba(0, 128, 128, 1)">capital:</span>
      <span style="color: rgba(0, 0, 255, 1)">and</span> byte ptr ,11<span style="color: rgba(128, 0, 128, 1)">011111b</span>   <span style="color: rgba(0, 128, 0, 1)">;</span><span style="color: rgba(0, 128, 0, 1)">将字符转为大写</span>
      <span style="color: rgba(0, 0, 255, 1)">inc</span><span style="color: rgba(0, 0, 0, 1)"> si
      loop capital
      </span><span style="color: rgba(0, 0, 255, 1)">ret</span><span style="color: rgba(0, 0, 0, 1)">
code ends
end start</span></span></pre>
</div>
<span class="cnblogs_code_collapse" style="font-family: &quot;comic sans ms&quot;, sans-serif; font-size: 16px">View Code</span></div>
<p><span style="font-family: comic sans ms, sans-serif"><img src="https://img2018.cnblogs.com/blog/1697845/201910/1697845-20191002111521987-1851722612.png" alt="" width="514" height="63"></span></p>
<p><span style="font-family: comic sans ms, sans-serif"><img src="https://img2018.cnblogs.com/blog/1697845/201910/1697845-20191002111532642-724998838.png" alt="" width="516" height="61"></span></p>
<p><span style="font-family: comic sans ms, sans-serif">&nbsp;</span></p>
<hr>
<h2><span style="font-family: comic sans ms, sans-serif">实验十(1)&nbsp;显示字符串</span></h2>
<blockquote>
<p><span style="font-family: comic sans ms, sans-serif; font-size: 16px">在这次实验中,我们将要编写3个子程序,通过它们来认识几个常见的问题和掌握解决这些问题的方法。同前面的所有实验一样,这个实验是必须要独立完成的,在后面的课程中,将要用到这个实验中编写的3个子程序。</span><br><span style="font-family: comic sans ms, sans-serif; font-size: 16px">
1.&nbsp;&nbsp;显示字符串</span><br><span style="font-family: comic sans ms, sans-serif; font-size: 16px">
问题:</span></p>
<p><span style="font-family: comic sans ms, sans-serif; font-size: 16px">显示字符串是现实工作中经常要用到的功能,应该编写一个通用的子程序来实现这个功能。我们应该提供灵活的调用接口,使调用者可以决定显示的位置(行、列)、内容和颜色。</span><br>
<br><span style="font-family: comic sans ms, sans-serif; font-size: 16px">
提示:</span><br><span style="font-family: comic sans ms, sans-serif; font-size: 16px">
(1)&nbsp;&nbsp;子程序的入口参数是屏幕上的行号和列号,注意在子程序内部要将它们转化为显存中的地址,首先要分析一下屏幕上的行列位置和显存地址的对应关系:</span><br><span style="font-family: comic sans ms, sans-serif; font-size: 16px">
(2)&nbsp;&nbsp;注意保存子程序中用到的相关寄存器:</span><br><span style="font-family: comic sans ms, sans-serif; font-size: 16px">
(3)&nbsp;&nbsp;这个子程序的内部处理和显存的结构密切相关,但是向外提供了与显存结构无关的接口。通过调用这个子程序,进行字符串的显示时可以不必了解显存的结构,为编程提供了方便。在实验中,注意体会这种设计思想。</span><br>
<br><span style="font-family: comic sans ms, sans-serif; font-size: 16px">
子程序描述</span><br><span style="font-family: comic sans ms, sans-serif; font-size: 16px">
名称:show_str</span><br><span style="font-family: comic sans ms, sans-serif; font-size: 16px">
功能:在指定的位置,用指定的颜色,显示一个用0结束的字符串。</span><br><span style="font-family: comic sans ms, sans-serif; font-size: 16px">
参数:(dh)=行号(取值范围0~24),(dl)=列号(取值范围0~79),</span><br><span style="font-family: comic sans ms, sans-serif; font-size: 16px">
&nbsp;&nbsp;&nbsp;&nbsp;(cl)=颜色,ds:si指向字符串的首地址</span><br><span style="font-family: comic sans ms, sans-serif; font-size: 16px">
返回:无</span><br><span style="font-family: comic sans ms, sans-serif; font-size: 16px">
就用举例:在屏幕的8行3列,用绿色显示data段中的字符串。</span></p>

















</blockquote>
<p><span style="font-family: comic sans ms, sans-serif; font-size: 16px">这一份是网上的答案,我结合自己的理解添加了注释【感觉师傅写的很谨慎,考虑地很完善】</span></p>
<div class="cnblogs_code">
<pre><span style="font-family: comic sans ms, sans-serif"><span style="color: rgba(0, 128, 128, 1)"> 1</span> assume <span style="color: rgba(0, 128, 128, 1)">cs:</span><span style="color: rgba(0, 0, 0, 1)">code
</span><span style="color: rgba(0, 128, 128, 1)"> 2</span> <span style="color: rgba(0, 0, 0, 1)">data segment
</span><span style="color: rgba(0, 128, 128, 1)"> 3</span>         db <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">welcome to masm!</span><span style="color: rgba(128, 0, 0, 1)">'</span>,<span style="color: rgba(128, 0, 128, 1)">0</span>
<span style="color: rgba(0, 128, 128, 1)"> 4</span> <span style="color: rgba(0, 0, 0, 1)">data ends
</span><span style="color: rgba(0, 128, 128, 1)"> 5</span>
<span style="color: rgba(0, 128, 128, 1)"> 6</span> <span style="color: rgba(0, 0, 0, 1)">code segment
</span><span style="color: rgba(0, 128, 128, 1)"> 7</span> <span style="color: rgba(0, 128, 128, 1)">start:</span>
<span style="color: rgba(0, 128, 128, 1)"> 8</span>    <span style="color: rgba(0, 128, 0, 1)">;</span><span style="color: rgba(0, 128, 0, 1)">dx存放的是行列信息</span>
<span style="color: rgba(0, 128, 128, 1)"> 9</span>   <span style="color: rgba(0, 0, 255, 1)">mov</span> dh,<span style="color: rgba(128, 0, 128, 1)">8</span>
<span style="color: rgba(0, 128, 128, 1)">10</span>   <span style="color: rgba(0, 0, 255, 1)">mov</span> dl,<span style="color: rgba(128, 0, 128, 1)">3</span>
<span style="color: rgba(0, 128, 128, 1)">11</span>   <span style="color: rgba(0, 0, 255, 1)">mov</span> cl,<span style="color: rgba(128, 0, 128, 1)">2</span>
<span style="color: rgba(0, 128, 128, 1)">12</span>   <span style="color: rgba(0, 0, 255, 1)">mov</span><span style="color: rgba(0, 0, 0, 1)"> ax,data
</span><span style="color: rgba(0, 128, 128, 1)">13</span>   <span style="color: rgba(0, 0, 255, 1)">mov</span><span style="color: rgba(0, 0, 0, 1)"> ds,ax
</span><span style="color: rgba(0, 128, 128, 1)">14</span>   <span style="color: rgba(0, 0, 255, 1)">mov</span> si,<span style="color: rgba(128, 0, 128, 1)">0</span>
<span style="color: rgba(0, 128, 128, 1)">15</span>   
<span style="color: rgba(0, 128, 128, 1)">16</span>   <span style="color: rgba(0, 0, 255, 1)">call</span><span style="color: rgba(0, 0, 0, 1)"> show_str
</span><span style="color: rgba(0, 128, 128, 1)">17</span>   <span style="color: rgba(0, 0, 255, 1)">mov</span><span style="color: rgba(0, 0, 0, 1)"> ax,4c00h
</span><span style="color: rgba(0, 128, 128, 1)">18</span>   <span style="color: rgba(0, 0, 255, 1)">int</span><span style="color: rgba(0, 0, 0, 1)"> 21h
</span><span style="color: rgba(0, 128, 128, 1)">19</span>         
<span style="color: rgba(0, 128, 128, 1)">20</span> <span style="color: rgba(0, 128, 128, 1)">show_str:</span>
<span style="color: rgba(0, 128, 128, 1)">21</span>
<span style="color: rgba(0, 128, 128, 1)">22</span>   <span style="color: rgba(0, 128, 0, 1)">;
</span><span style="color: rgba(0, 128, 128, 1)">23</span>   <span style="color: rgba(0, 128, 0, 1)">;</span><span style="color: rgba(0, 128, 0, 1)">入栈储存数据tt</span>
<span style="color: rgba(0, 128, 128, 1)">24</span>   <span style="color: rgba(0, 128, 0, 1)">;</span>   
<span style="color: rgba(0, 128, 128, 1)">25</span>   <span style="color: rgba(0, 0, 255, 1)">push</span><span style="color: rgba(0, 0, 0, 1)"> dx
</span><span style="color: rgba(0, 128, 128, 1)">26</span>   <span style="color: rgba(0, 0, 255, 1)">push</span><span style="color: rgba(0, 0, 0, 1)"> cx
</span><span style="color: rgba(0, 128, 128, 1)">27</span>   <span style="color: rgba(0, 0, 255, 1)">push</span><span style="color: rgba(0, 0, 0, 1)"> si   
</span><span style="color: rgba(0, 128, 128, 1)">28</span>   
<span style="color: rgba(0, 128, 128, 1)">29</span>   <span style="color: rgba(0, 128, 0, 1)">;
</span><span style="color: rgba(0, 128, 128, 1)">30</span>   <span style="color: rgba(0, 128, 0, 1)">;</span><span style="color: rgba(0, 128, 0, 1)">第八行定位【460-4ff】</span>
<span style="color: rgba(0, 128, 128, 1)">31</span>   <span style="color: rgba(0, 128, 0, 1)">;</span><span style="color: rgba(0, 128, 0, 1)">         【7*a0=460】</span>
<span style="color: rgba(0, 128, 128, 1)">32</span>   <span style="color: rgba(0, 0, 255, 1)">mov</span> bl,dh   <span style="color: rgba(0, 128, 0, 1)">;</span><span style="color: rgba(0, 128, 0, 1)">行号赋值8</span>
<span style="color: rgba(0, 128, 128, 1)">33</span>   <span style="color: rgba(0, 0, 255, 1)">dec</span> bl       <span style="color: rgba(0, 128, 0, 1)">;</span><span style="color: rgba(0, 128, 0, 1)">行号自减一</span>
<span style="color: rgba(0, 128, 128, 1)">34</span>   
<span style="color: rgba(0, 128, 128, 1)">35</span>   <span style="color: rgba(0, 0, 255, 1)">mov</span> al,<span style="color: rgba(128, 0, 128, 1)">160</span>   <span style="color: rgba(0, 128, 0, 1)">;</span><span style="color: rgba(0, 128, 0, 1)">A0h【每一行的自增值】</span>
<span style="color: rgba(0, 128, 128, 1)">36</span>   
<span style="color: rgba(0, 128, 128, 1)">37</span>   <span style="color: rgba(0, 0, 255, 1)">mul</span> bl         <span style="color: rgba(0, 128, 0, 1)">;</span><span style="color: rgba(0, 128, 0, 1)">将bl与al相乘结果放到ax中</span>
<span style="color: rgba(0, 128, 128, 1)">38</span>   <span style="color: rgba(0, 0, 255, 1)">mov</span> bx,ax   <span style="color: rgba(0, 128, 0, 1)">;</span><span style="color: rgba(0, 128, 0, 1)">结果赋值</span>
<span style="color: rgba(0, 128, 128, 1)">39</span>   <span style="color: rgba(0, 128, 0, 1)">;
</span><span style="color: rgba(0, 128, 128, 1)">40</span>   <span style="color: rgba(0, 128, 0, 1)">;</span><span style="color: rgba(0, 128, 0, 1)">第三列定位【04-05】</span>
<span style="color: rgba(0, 128, 128, 1)">41</span>   <span style="color: rgba(0, 128, 0, 1)">;
</span><span style="color: rgba(0, 128, 128, 1)">42</span>   <span style="color: rgba(0, 0, 255, 1)">add</span> dl,dl <span style="color: rgba(0, 128, 0, 1)">;</span><span style="color: rgba(0, 128, 0, 1)">列号自增</span>
<span style="color: rgba(0, 128, 128, 1)">43</span>   <span style="color: rgba(0, 128, 0, 1)">;
</span><span style="color: rgba(0, 128, 128, 1)">44</span>   <span style="color: rgba(0, 128, 0, 1)">;</span><span style="color: rgba(0, 128, 0, 1)">行列号拼接形成偏移地址</span>
<span style="color: rgba(0, 128, 128, 1)">45</span>   <span style="color: rgba(0, 128, 0, 1)">;
</span><span style="color: rgba(0, 128, 128, 1)">46</span>   <span style="color: rgba(0, 0, 255, 1)">add</span><span style="color: rgba(0, 0, 0, 1)"> bl,dl
</span><span style="color: rgba(0, 128, 128, 1)">47</span>   <span style="color: rgba(0, 128, 0, 1)">;
</span><span style="color: rgba(0, 128, 128, 1)">48</span>   <span style="color: rgba(0, 128, 0, 1)">;</span><span style="color: rgba(0, 128, 0, 1)">设定显示位置</span>
<span style="color: rgba(0, 128, 128, 1)">49</span>   <span style="color: rgba(0, 128, 0, 1)">;
</span><span style="color: rgba(0, 128, 128, 1)">50</span>   <span style="color: rgba(0, 0, 255, 1)">mov</span><span style="color: rgba(0, 0, 0, 1)"> ax,0b800h
</span><span style="color: rgba(0, 128, 128, 1)">51</span>   <span style="color: rgba(0, 0, 255, 1)">mov</span><span style="color: rgba(0, 0, 0, 1)"> es,ax
</span><span style="color: rgba(0, 128, 128, 1)">52</span>   
<span style="color: rgba(0, 128, 128, 1)">53</span>   <span style="color: rgba(0, 0, 255, 1)">mov</span> al,cl <span style="color: rgba(0, 128, 0, 1)">;</span><span style="color: rgba(0, 128, 0, 1)">颜色赋值【后面要用cx来结束循环所以这里要把cx的数据先保存起来】</span>
<span style="color: rgba(0, 128, 128, 1)">54</span>   
<span style="color: rgba(0, 128, 128, 1)">55</span>   <span style="color: rgba(0, 0, 255, 1)">mov</span> di,<span style="color: rgba(128, 0, 128, 1)">0</span>    <span style="color: rgba(0, 128, 0, 1)">;</span><span style="color: rgba(0, 128, 0, 1)">数据初始化</span>
<span style="color: rgba(0, 128, 128, 1)">56</span>   <span style="color: rgba(0, 128, 128, 1)">s:</span>   
<span style="color: rgba(0, 128, 128, 1)">57</span>         <span style="color: rgba(0, 0, 255, 1)">mov</span> ch,<span style="color: rgba(128, 0, 128, 1)">0</span>
<span style="color: rgba(0, 128, 128, 1)">58</span>         <span style="color: rgba(0, 0, 255, 1)">mov</span> cl,<span style="color: rgba(0, 128, 128, 1)">ds:</span><span style="color: rgba(0, 0, 0, 1)">
</span><span style="color: rgba(0, 128, 128, 1)">59</span>         <span style="color: rgba(0, 0, 255, 1)">jcxz</span><span style="color: rgba(0, 0, 0, 1)"> ok
</span><span style="color: rgba(0, 128, 128, 1)">60</span>         <span style="color: rgba(0, 128, 0, 1)">;</span><span style="color: rgba(0, 128, 0, 1)">将数据赋给cx,当cx为0的时候(到字符串尾)就会自动退出</span>
<span style="color: rgba(0, 128, 128, 1)">61</span>         
<span style="color: rgba(0, 128, 128, 1)">62</span>         <span style="color: rgba(0, 0, 255, 1)">mov</span> <span style="color: rgba(0, 128, 128, 1)">es:</span><span style="color: rgba(0, 0, 0, 1)">,cl
</span><span style="color: rgba(0, 128, 128, 1)">63</span>         <span style="color: rgba(0, 0, 255, 1)">mov</span> <span style="color: rgba(0, 128, 128, 1)">es:</span>,al<span style="color: rgba(0, 128, 0, 1)">;</span><span style="color: rgba(0, 128, 0, 1)">颜色赋值【颜色设定在高位】</span>
<span style="color: rgba(0, 128, 128, 1)">64</span>         
<span style="color: rgba(0, 128, 128, 1)">65</span>         <span style="color: rgba(0, 0, 255, 1)">add</span> di,<span style="color: rgba(128, 0, 128, 1)">2</span> <span style="color: rgba(0, 128, 0, 1)">;</span><span style="color: rgba(0, 128, 0, 1)">es段每次跳两个字节</span>
<span style="color: rgba(0, 128, 128, 1)">66</span>         <span style="color: rgba(0, 0, 255, 1)">inc</span> si<span style="color: rgba(0, 128, 0, 1)">;</span><span style="color: rgba(0, 128, 0, 1)">ds段每次跳一个</span>
<span style="color: rgba(0, 128, 128, 1)">67</span> <span style="color: rgba(0, 0, 0, 1)">    loop s
</span><span style="color: rgba(0, 128, 128, 1)">68</span>   
<span style="color: rgba(0, 128, 128, 1)">69</span>   <span style="color: rgba(0, 128, 128, 1)">ok:</span>   
<span style="color: rgba(0, 128, 128, 1)">70</span>         <span style="color: rgba(0, 128, 0, 1)">;
</span><span style="color: rgba(0, 128, 128, 1)">71</span>         <span style="color: rgba(0, 128, 0, 1)">;</span><span style="color: rgba(0, 128, 0, 1)">数据恢复</span>
<span style="color: rgba(0, 128, 128, 1)">72</span>         <span style="color: rgba(0, 128, 0, 1)">;
</span><span style="color: rgba(0, 128, 128, 1)">73</span>         <span style="color: rgba(0, 0, 255, 1)">pop</span><span style="color: rgba(0, 0, 0, 1)"> dx
</span><span style="color: rgba(0, 128, 128, 1)">74</span>         <span style="color: rgba(0, 0, 255, 1)">pop</span><span style="color: rgba(0, 0, 0, 1)"> cx
</span><span style="color: rgba(0, 128, 128, 1)">75</span>         <span style="color: rgba(0, 0, 255, 1)">pop</span><span style="color: rgba(0, 0, 0, 1)"> si
</span><span style="color: rgba(0, 128, 128, 1)">76</span>         <span style="color: rgba(0, 0, 255, 1)">ret</span>
<span style="color: rgba(0, 128, 128, 1)">77</span> <span style="color: rgba(0, 0, 0, 1)">code ends
</span><span style="color: rgba(0, 128, 128, 1)">78</span> end start</span></pre>
</div>
<p><span style="font-family: comic sans ms, sans-serif"><img style="display: block; margin-left: auto; margin-right: auto" src="https://img2018.cnblogs.com/blog/1697845/201910/1697845-20191007002626507-879167752.png" alt="" width="673" height="544"></span></p>
<p><span style="font-family: comic sans ms, sans-serif">&nbsp;</span></p>
<p><span style="font-family: comic sans ms, sans-serif; font-size: 16px">然后这一份是我自己写的暴力版,当初完全没get到,cl=2 有什么内涵 Orz</span></p>
<div class="cnblogs_code">
<pre><span style="font-family: comic sans ms, sans-serif"><span style="color: rgba(0, 128, 128, 1)"> 1</span> <span style="color: rgba(0, 128, 0, 1)">;</span><span style="color: rgba(0, 128, 0, 1)">实验10(1)</span>
<span style="color: rgba(0, 128, 128, 1)"> 2</span> assume <span style="color: rgba(0, 128, 128, 1)">cs:</span><span style="color: rgba(0, 0, 0, 1)">code
</span><span style="color: rgba(0, 128, 128, 1)"> 3</span> <span style="color: rgba(0, 0, 0, 1)">data segment
</span><span style="color: rgba(0, 128, 128, 1)"> 4</span>   db <span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">Welcome to masm!</span><span style="color: rgba(128, 0, 0, 1)">'</span>,<span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 128, 0, 1)">;</span><span style="color: rgba(0, 128, 0, 1)">17</span>
<span style="color: rgba(0, 128, 128, 1)"> 5</span> <span style="color: rgba(0, 0, 0, 1)">data ends
</span><span style="color: rgba(0, 128, 128, 1)"> 6</span>
<span style="color: rgba(0, 128, 128, 1)"> 7</span> <span style="color: rgba(0, 0, 0, 1)">code segment
</span><span style="color: rgba(0, 128, 128, 1)"> 8</span>   <span style="color: rgba(0, 128, 128, 1)">start:</span>
<span style="color: rgba(0, 128, 128, 1)"> 9</span>         <span style="color: rgba(0, 0, 255, 1)">mov</span> dh,<span style="color: rgba(128, 0, 128, 1)">8</span>
<span style="color: rgba(0, 128, 128, 1)">10</span>         <span style="color: rgba(0, 0, 255, 1)">mov</span> dl,<span style="color: rgba(128, 0, 128, 1)">3</span>
<span style="color: rgba(0, 128, 128, 1)">11</span>         <span style="color: rgba(0, 0, 255, 1)">mov</span> cl,<span style="color: rgba(128, 0, 128, 1)">2</span>
<span style="color: rgba(0, 128, 128, 1)">12</span>         <span style="color: rgba(0, 0, 255, 1)">mov</span><span style="color: rgba(0, 0, 0, 1)"> ax,data
</span><span style="color: rgba(0, 128, 128, 1)">13</span>         <span style="color: rgba(0, 0, 255, 1)">mov</span><span style="color: rgba(0, 0, 0, 1)"> ds,ax
</span><span style="color: rgba(0, 128, 128, 1)">14</span>         
<span style="color: rgba(0, 128, 128, 1)">15</span>         <span style="color: rgba(0, 0, 255, 1)">mov</span> si,<span style="color: rgba(128, 0, 128, 1)">0</span>
<span style="color: rgba(0, 128, 128, 1)">16</span>         <span style="color: rgba(0, 0, 255, 1)">call</span><span style="color: rgba(0, 0, 0, 1)"> show_str
</span><span style="color: rgba(0, 128, 128, 1)">17</span>         
<span style="color: rgba(0, 128, 128, 1)">18</span>         <span style="color: rgba(0, 0, 255, 1)">mov</span><span style="color: rgba(0, 0, 0, 1)"> ax,4c00h
</span><span style="color: rgba(0, 128, 128, 1)">19</span>         <span style="color: rgba(0, 0, 255, 1)">int</span><span style="color: rgba(0, 0, 0, 1)"> 21h
</span><span style="color: rgba(0, 128, 128, 1)">20</span>         
<span style="color: rgba(0, 128, 128, 1)">21</span>         
<span style="color: rgba(0, 128, 128, 1)">22</span>   <span style="color: rgba(0, 128, 128, 1)">show_str:</span>
<span style="color: rgba(0, 128, 128, 1)">23</span>         <span style="color: rgba(0, 0, 255, 1)">mov</span><span style="color: rgba(0, 0, 0, 1)"> si,0466h
</span><span style="color: rgba(0, 128, 128, 1)">24</span>         <span style="color: rgba(0, 0, 255, 1)">mov</span> cx,<span style="color: rgba(128, 0, 128, 1)">17</span>
<span style="color: rgba(0, 128, 128, 1)">25</span>         
<span style="color: rgba(0, 128, 128, 1)">26</span>         <span style="color: rgba(0, 0, 255, 1)">mov</span><span style="color: rgba(0, 0, 0, 1)"> ax,0b800h
</span><span style="color: rgba(0, 128, 128, 1)">27</span>         <span style="color: rgba(0, 0, 255, 1)">mov</span><span style="color: rgba(0, 0, 0, 1)"> es,ax
</span><span style="color: rgba(0, 128, 128, 1)">28</span>         
<span style="color: rgba(0, 128, 128, 1)">29</span>         <span style="color: rgba(0, 0, 255, 1)">mov</span> di,<span style="color: rgba(128, 0, 128, 1)">0</span>
<span style="color: rgba(0, 128, 128, 1)">30</span>         
<span style="color: rgba(0, 128, 128, 1)">31</span>   <span style="color: rgba(0, 128, 128, 1)">s:</span>    <span style="color: rgba(0, 0, 255, 1)">mov</span> al,<span style="color: rgba(0, 128, 128, 1)">ds:</span><span style="color: rgba(0, 0, 0, 1)">
</span><span style="color: rgba(0, 128, 128, 1)">32</span>         <span style="color: rgba(0, 0, 255, 1)">mov</span> <span style="color: rgba(0, 128, 128, 1)">es:</span><span style="color: rgba(0, 0, 0, 1)">,al
</span><span style="color: rgba(0, 128, 128, 1)">33</span>         
<span style="color: rgba(0, 128, 128, 1)">34</span>         <span style="color: rgba(0, 0, 255, 1)">mov</span> ah,<span style="color: rgba(128, 0, 128, 1)">2</span>
<span style="color: rgba(0, 128, 128, 1)">35</span>         <span style="color: rgba(0, 0, 255, 1)">mov</span> <span style="color: rgba(0, 128, 128, 1)">es:</span>,ah
</span><span style="color: rgba(0, 128, 128, 1)">36</span>         
<span style="color: rgba(0, 128, 128, 1)">37</span>         <span style="color: rgba(0, 0, 255, 1)">add</span> si,<span style="color: rgba(128, 0, 128, 1)">2</span>
<span style="color: rgba(0, 128, 128, 1)">38</span>         <span style="color: rgba(0, 0, 255, 1)">add</span> di,<span style="color: rgba(128, 0, 128, 1)">1</span>
<span style="color: rgba(0, 128, 128, 1)">39</span>         <span style="color: rgba(0, 0, 255, 1)">jcxz</span><span style="color: rgba(0, 0, 0, 1)"> ok
</span><span style="color: rgba(0, 128, 128, 1)">40</span> <span style="color: rgba(0, 0, 0, 1)">    loop s
</span><span style="color: rgba(0, 128, 128, 1)">41</span>         
<span style="color: rgba(0, 128, 128, 1)">42</span>         
<span style="color: rgba(0, 128, 128, 1)">43</span>   <span style="color: rgba(0, 128, 128, 1)">ok:</span> <span style="color: rgba(0, 0, 255, 1)">ret</span>
<span style="color: rgba(0, 128, 128, 1)">44</span> <span style="color: rgba(0, 0, 0, 1)">code ends
</span><span style="color: rgba(0, 128, 128, 1)">45</span> end start</span></pre>
</div>
<p><span style="font-family: comic sans ms, sans-serif"><img style="display: block; margin-left: auto; margin-right: auto" src="https://img2018.cnblogs.com/blog/1697845/201910/1697845-20191007002926418-1149721373.png" alt="" width="697" height="618"></span></p>
<p><span style="font-family: comic sans ms, sans-serif">&nbsp;</span></p>
<p><span style="font-family: comic sans ms, sans-serif">&nbsp;</span></p>
<hr>
<h2><span style="font-family: comic sans ms, sans-serif">&nbsp;实验十(2)&nbsp;解决除法溢出</span></h2>
<blockquote>
<p><span style="font-family: comic sans ms, sans-serif"><strong><span style="font-size: 16px">问题</span></strong></span><br><span style="font-family: comic sans ms, sans-serif"><span style="font-size: 16px">
前面讲过,div指令可以做除法。当进行8位除法的时候,用al存储结果的商,ah存储结果的余数:进行16位除法的时候,用ax存储结果的商,dx存储结果的余数。可是,现在有一个问题,如果结果的商大于ah或ax所能存储的最大值,那么将如何?</span><span style="font-size: 16px">比如,下面的程序段:</span></span></p>
<div class="cnblogs_code">
<pre><span style="font-family: comic sans ms, sans-serif"><span style="color: rgba(0, 128, 128, 1)">1</span><span style="color: rgba(0, 0, 255, 1)">mov</span> bh,<span style="color: rgba(128, 0, 128, 1)">1</span>
<span style="color: rgba(0, 128, 128, 1)">2</span><span style="color: rgba(0, 0, 255, 1)">mov</span> ax,<span style="color: rgba(128, 0, 128, 1)">1000</span>
<span style="color: rgba(0, 128, 128, 1)">3</span><span style="color: rgba(0, 0, 255, 1)">div</span>   bh</span></pre>
</div>
<p><span style="font-family: comic sans ms, sans-serif"><span style="font-size: 16px; background-color: initial">进行的是8位除法,结果的商为1000,而1000在ah中放不下,</span><span style="font-size: 16px">又比如,下面的程序段:</span></span></p>
<div class="cnblogs_code">
<pre><span style="font-family: comic sans ms, sans-serif"><span style="color: rgba(0, 128, 128, 1)">1</span> <span style="color: rgba(0, 0, 255, 1)">mov</span><span style="color: rgba(0, 0, 0, 1)"> ax,1000h
</span><span style="color: rgba(0, 128, 128, 1)">2</span> <span style="color: rgba(0, 0, 255, 1)">mov</span> dx,<span style="color: rgba(128, 0, 128, 1)">1</span>
<span style="color: rgba(0, 128, 128, 1)">3</span> <span style="color: rgba(0, 0, 255, 1)">mov</span> bx,<span style="color: rgba(128, 0, 128, 1)">1</span>
<span style="color: rgba(0, 128, 128, 1)">4</span> <span style="color: rgba(0, 0, 255, 1)">div</span>   bx</span></pre>
</div>
<p><span style="font-family: comic sans ms, sans-serif"><span style="font-size: 16px; background-color: initial">进行的是16位除法,结果的商为11000H,而11000H在ax中存放不下。</span><span style="font-size: 16px">我们在用div指令做除法的时候,很可能发生上面的情况:结果的商过大,超出了寄存器所能存储的范围。当CPU执行div等除法指令的时候。如果发生这样的情况,将引发CPU的一个内部错误。这个错误被称为:除法溢出。我们可以通过特殊的程序来处理这个错误,这里我们不讨论这个错误的处理,这是后面的课程中要涉及的内容。</span></span></p>
<p><span style="font-family: comic sans ms, sans-serif; font-size: 16px">好了,我们已经清楚了问题的所在:用div指令做除法的时候可能产生除法溢出。由于有这样的问题,在进行除法运算的时候要注意除数和被除数的值,比如1000000/10就不能用div指令来计算。那么怎么办呢?我们用下面的子程序divdw解决。</span><br><br><span style="font-family: comic sans ms, sans-serif"><strong><span style="font-size: 16px">
子程序描述</span></strong></span><br><span style="font-family: comic sans ms, sans-serif; font-size: 16px">
名称:divdw</span><br><span style="font-family: comic sans ms, sans-serif; font-size: 16px">
功能:进行不会产生溢出的除法运算,被除数为dword型,除数为word型,结果为dword型。</span><br><span style="font-family: comic sans ms, sans-serif; font-size: 16px">
参数:</span></p>
<p><span style="font-family: comic sans ms, sans-serif; font-size: 16px">&nbsp; &nbsp; (ax)=dword型数据的低16位</span><br><span style="font-family: comic sans ms, sans-serif; font-size: 16px">
&nbsp;&nbsp;&nbsp;&nbsp;(dx)=dword型数据的高16位</span><br><span style="font-family: comic sans ms, sans-serif; font-size: 16px">
&nbsp;&nbsp;&nbsp;&nbsp;(cx)=除数</span><br><span style="font-family: comic sans ms, sans-serif; font-size: 16px">
返回:</span></p>
<p><span style="font-family: comic sans ms, sans-serif; font-size: 16px">&nbsp; &nbsp; (dx)=结果的高16位,(ax)=结果的低16位</span><br><span style="font-family: comic sans ms, sans-serif; font-size: 16px">
&nbsp;&nbsp;&nbsp;&nbsp;(cx)=余数</span><br><span style="font-family: comic sans ms, sans-serif; font-size: 16px">
应用举例:</span></p>
<p><span style="font-family: comic sans ms, sans-serif"><span style="font-size: 16px">&nbsp; 计算1000000/10(F4240H/0AH)</span><span style="font-size: 16px"><br></span></span></p>
<div class="cnblogs_code">
<pre><span style="font-family: comic sans ms, sans-serif"><span style="color: rgba(0, 128, 128, 1)">1</span> <span style="color: rgba(0, 0, 255, 1)">mov</span><span style="color: rgba(0, 0, 0, 1)"> ax,4240h
</span><span style="color: rgba(0, 128, 128, 1)">2</span> <span style="color: rgba(0, 0, 255, 1)">mov</span><span style="color: rgba(0, 0, 0, 1)"> dx,000fh
</span><span style="color: rgba(0, 128, 128, 1)">3</span> <span style="color: rgba(0, 0, 255, 1)">mov</span><span style="color: rgba(0, 0, 0, 1)"> cx,0ah
</span><span style="color: rgba(0, 128, 128, 1)">4</span> <span style="color: rgba(0, 0, 255, 1)">call </span>divdw</span></pre>
</div>
<p><span style="font-family: comic sans ms, sans-serif; font-size: 16px; background-color: initial">结果:</span></p>
<p><span style="font-family: comic sans ms, sans-serif; font-size: 16px; background-color: initial">&nbsp; &nbsp;(dx)=0001h,(ax)=86a0h,(cx)=0</span></p>
<p><span style="font-family: comic sans ms, sans-serif"><strong><span style="font-size: 16px; background-color: initial">提示</span></strong></span></p>
<p><span style="font-family: comic sans ms, sans-serif; font-size: 16px"> 给出一个公式:</span><br><span style="font-family: comic sans ms, sans-serif; font-size: 16px">
X:被除数,范围:</span><br><span style="font-family: comic sans ms, sans-serif; font-size: 16px">
N:除数,范围:</span><br><span style="font-family: comic sans ms, sans-serif; font-size: 16px">
H:X高16位,范围:</span><br><span style="font-family: comic sans ms, sans-serif; font-size: 16px">
L:X低16位,范围:</span><br><span style="font-family: comic sans ms, sans-serif; font-size: 16px">
int():描述性运算符,取商,比如:rem(38/10)=8</span><br><span style="font-family: comic sans ms, sans-serif; font-size: 16px">
rem():描述性运算符,取答数,比如:rem(38/10)=8</span></p>
<p><br><span style="font-family: comic sans ms, sans-serif; font-size: 16px">
公式:X/N=int(H/N)*65536+/N</span></p>
<p><br><span style="font-family: comic sans ms, sans-serif"><span style="font-size: 16px">
这个公式将可能产生溢出的除法运算:X/N,转变为多个不会产生溢出的除法运算。</span><span style="font-size: 16px">公式中,等号右边的所有除法运算都可以用div指令来做,肯定不会导致除法溢出。</span></span></p>
<p><span style="font-family: comic sans ms, sans-serif">&nbsp;</span></p>
















</blockquote>
<p><span style="font-family: comic sans ms, sans-serif; font-size: 16px">这里我写到pop ax就与网上的答案产生分歧了,后来才知道没有好好理解王爽老师提供的公式的含义:</span></p>
<div class="cnblogs_code">
<pre><span style="font-family: comic sans ms, sans-serif"><span style="color: rgba(0, 128, 128, 1)">1</span> 进行的是1000000/<span style="color: rgba(128, 0, 128, 1)">10</span>
<span style="color: rgba(0, 128, 128, 1)">2</span>
<span style="color: rgba(0, 128, 128, 1)">3</span> <span style="color: rgba(128, 0, 128, 1)">000f</span> 4240h / 0ah = 1h*10000h+[<span style="color: rgba(128, 0, 128, 1)">5</span><span style="color: rgba(0, 0, 0, 1)">*10000h+4240h]/0ah
</span><span style="color: rgba(0, 128, 128, 1)">4</span> <span style="color: rgba(0, 0, 0, 1)">                  = 10000h+54240h/ah
</span><span style="color: rgba(0, 128, 128, 1)">5</span> <span style="color: rgba(0, 0, 0, 1)">                  = 10000h+86a0h
</span><span style="color: rgba(0, 128, 128, 1)">6</span> <span style="color: rgba(0, 0, 0, 1)">                  = 186a0h
</span><span style="color: rgba(0, 128, 128, 1)">7</span> <span style="color: rgba(0, 0, 0, 1)">其中:
</span><span style="color: rgba(0, 128, 128, 1)">8</span> f / a = <span style="color: rgba(128, 0, 128, 1)">1</span>……<span style="color: rgba(128, 0, 128, 1)">5</span></span></pre>
</div>
<p><span style="font-family: comic sans ms, sans-serif">&nbsp;</span></p>
<p><span style="font-family: comic sans ms, sans-serif; font-size: 16px"><img style="display: block; margin-left: auto; margin-right: auto" src="https://img2018.cnblogs.com/blog/1697845/201910/1697845-20191007110550064-82401542.png" alt="" width="771" height="274"></span></p>
<p><span style="font-family: comic sans ms, sans-serif; font-size: 16px">&nbsp;也就是说高位除的时候,它的商是结果的高位,它的余数是低位除的高位</span></p>
<div class="cnblogs_code">
<pre><span style="font-family: comic sans ms, sans-serif"><span style="color: rgba(0, 128, 128, 1)"> 1</span> <span style="color: rgba(0, 128, 0, 1)">;</span><span style="color: rgba(0, 128, 0, 1)">实验十(2)</span>
<span style="color: rgba(0, 128, 128, 1)"> 2</span>
<span style="color: rgba(0, 128, 128, 1)"> 3</span> assume <span style="color: rgba(0, 128, 128, 1)">cs:</span><span style="color: rgba(0, 0, 0, 1)">code
</span><span style="color: rgba(0, 128, 128, 1)"> 4</span>
<span style="color: rgba(0, 128, 128, 1)"> 5</span> <span style="color: rgba(0, 0, 0, 1)">stack segment
</span><span style="color: rgba(0, 128, 128, 1)"> 6</span>   dw <span style="color: rgba(128, 0, 128, 1)">8</span> dup(<span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">)
</span><span style="color: rgba(0, 128, 128, 1)"> 7</span> <span style="color: rgba(0, 0, 0, 1)">stack ends
</span><span style="color: rgba(0, 128, 128, 1)"> 8</span>
<span style="color: rgba(0, 128, 128, 1)"> 9</span> <span style="color: rgba(0, 0, 0, 1)">code segment
</span><span style="color: rgba(0, 128, 128, 1)">10</span>   <span style="color: rgba(0, 128, 128, 1)">start:</span>
<span style="color: rgba(0, 128, 128, 1)">11</span>             <span style="color: rgba(0, 0, 255, 1)">mov</span><span style="color: rgba(0, 0, 0, 1)"> ax,stack
</span><span style="color: rgba(0, 128, 128, 1)">12</span>             <span style="color: rgba(0, 0, 255, 1)">mov</span><span style="color: rgba(0, 0, 0, 1)"> ss,ax
</span><span style="color: rgba(0, 128, 128, 1)">13</span>             <span style="color: rgba(0, 0, 255, 1)">mov</span> sp,<span style="color: rgba(128, 0, 128, 1)">16</span>
<span style="color: rgba(0, 128, 128, 1)">14</span>            
<span style="color: rgba(0, 128, 128, 1)">15</span>             <span style="color: rgba(0, 0, 255, 1)">mov</span><span style="color: rgba(0, 0, 0, 1)"> ax,4240h
</span><span style="color: rgba(0, 128, 128, 1)">16</span>             <span style="color: rgba(0, 0, 255, 1)">mov</span><span style="color: rgba(0, 0, 0, 1)"> dx,000fh
</span><span style="color: rgba(0, 128, 128, 1)">17</span>             <span style="color: rgba(0, 0, 255, 1)">mov</span><span style="color: rgba(0, 0, 0, 1)"> cx,0ah
</span><span style="color: rgba(0, 128, 128, 1)">18</span>             <span style="color: rgba(0, 128, 0, 1)">;</span><span style="color: rgba(0, 128, 0, 1)">[ dx ax ] / cx = …… cx</span>
<span style="color: rgba(0, 128, 128, 1)">19</span>             <span style="color: rgba(0, 0, 255, 1)">call</span><span style="color: rgba(0, 0, 0, 1)"> divdw
</span><span style="color: rgba(0, 128, 128, 1)">20</span>            
<span style="color: rgba(0, 128, 128, 1)">21</span>             <span style="color: rgba(0, 0, 255, 1)">mov</span><span style="color: rgba(0, 0, 0, 1)"> ax,4c00h
</span><span style="color: rgba(0, 128, 128, 1)">22</span>             <span style="color: rgba(0, 0, 255, 1)">int</span><span style="color: rgba(0, 0, 0, 1)"> 21h
</span><span style="color: rgba(0, 128, 128, 1)">23</span>            
<span style="color: rgba(0, 128, 128, 1)">24</span>   <span style="color: rgba(0, 128, 128, 1)">divdw:</span><span style="color: rgba(0, 128, 0, 1)">;</span><span style="color: rgba(0, 128, 0, 1)">12/3 = (1*10 + 2)/3 = /3 =int(12/10)*10/3 +mod(12/10)/3= 1 + 3 </span>
<span style="color: rgba(0, 128, 128, 1)">25</span>             <span style="color: rgba(0, 128, 0, 1)">;</span><span style="color: rgba(0, 128, 0, 1)">将高位与除数做运算</span>
<span style="color: rgba(0, 128, 128, 1)">26</span>             <span style="color: rgba(0, 0, 255, 1)">push</span> ax    <span style="color: rgba(0, 128, 0, 1)">;</span><span style="color: rgba(0, 128, 0, 1)">将L存放起来</span>
<span style="color: rgba(0, 128, 128, 1)">27</span>            
<span style="color: rgba(0, 128, 128, 1)">28</span>             <span style="color: rgba(0, 0, 255, 1)">mov</span> ax,dx<span style="color: rgba(0, 128, 0, 1)">;</span><span style="color: rgba(0, 128, 0, 1)">将ax转化为H</span>
<span style="color: rgba(0, 128, 128, 1)">29</span>             <span style="color: rgba(0, 0, 255, 1)">mov</span> dx,<span style="color: rgba(128, 0, 128, 1)">0</span>   <span style="color: rgba(0, 128, 0, 1)">;</span><span style="color: rgba(0, 128, 0, 1)">将余数位清零</span>
<span style="color: rgba(0, 128, 128, 1)">30</span>             <span style="color: rgba(0, 0, 255, 1)">div</span> cx       <span style="color: rgba(0, 128, 0, 1)">;</span><span style="color: rgba(0, 128, 0, 1)">int(H/N)=ax,rem(H/N)=dx</span>
<span style="color: rgba(0, 128, 128, 1)">31</span>            
<span style="color: rgba(0, 128, 128, 1)">32</span>             <span style="color: rgba(0, 0, 255, 1)">mov</span> bx,ax<span style="color: rgba(0, 128, 0, 1)">;</span><span style="color: rgba(0, 128, 0, 1)">将int(H/N)的值存起来[这是已经得到的高位]</span>
<span style="color: rgba(0, 128, 128, 1)">33</span>            
<span style="color: rgba(0, 128, 128, 1)">34</span>             <span style="color: rgba(0, 128, 0, 1)">;</span><span style="color: rgba(0, 128, 0, 1)">将低位与除数做运算</span>
<span style="color: rgba(0, 128, 128, 1)">35</span>             <span style="color: rgba(0, 0, 255, 1)">pop</span> ax   <span style="color: rgba(0, 128, 0, 1)">;</span><span style="color: rgba(0, 128, 0, 1)">将L赋值给ax,rem(H/N)=dx</span>
<span style="color: rgba(0, 128, 128, 1)">36</span>             <span style="color: rgba(0, 0, 255, 1)">div</span> cx      <span style="color: rgba(0, 128, 0, 1)">;
</span><span style="color: rgba(0, 128, 128, 1)">37</span>            
<span style="color: rgba(0, 128, 128, 1)">38</span>             <span style="color: rgba(0, 0, 255, 1)">mov</span> cx,dx<span style="color: rgba(0, 128, 0, 1)">;</span><span style="color: rgba(0, 128, 0, 1)">cx放余数</span>
<span style="color: rgba(0, 128, 128, 1)">39</span>             <span style="color: rgba(0, 0, 255, 1)">mov</span> dx,bx<span style="color: rgba(0, 128, 0, 1)">;</span><span style="color: rgba(0, 128, 0, 1)">dx放商的高位,ax默认低位</span>
<span style="color: rgba(0, 128, 128, 1)">40</span>   
<span style="color: rgba(0, 128, 128, 1)">41</span>             <span style="color: rgba(0, 0, 255, 1)">ret</span>
<span style="color: rgba(0, 128, 128, 1)">42</span> <span style="color: rgba(0, 0, 0, 1)">code ends
</span><span style="color: rgba(0, 128, 128, 1)">43</span> end start</span></pre>
</div>
<p><span style="font-family: comic sans ms, sans-serif">&nbsp;</span></p>
<h2><span style="font-family: comic sans ms, sans-serif">实验十(3)&nbsp;解决除法溢出</span></h2>
<blockquote>
<p><span style="font-family: comic sans ms, sans-serif; font-size: 16px"><strong>问题</strong><br>
编程,将data段中的数据以十进制的形式显示出来。<br></span></p>
<div class="cnblogs_code">
<pre><span style="font-family: comic sans ms, sans-serif"><span style="color: rgba(0, 128, 128, 1)">1</span> <span style="color: rgba(0, 0, 0, 1)">data segment
</span><span style="color: rgba(0, 128, 128, 1)">2</span> dw<span style="color: rgba(128, 0, 128, 1)">123</span>,<span style="color: rgba(128, 0, 128, 1)">12666</span>,<span style="color: rgba(128, 0, 128, 1)">1</span>,<span style="color: rgba(128, 0, 128, 1)">8</span>,<span style="color: rgba(128, 0, 128, 1)">3</span>,<span style="color: rgba(128, 0, 128, 1)">38</span>
<span style="color: rgba(0, 128, 128, 1)">3</span> data ends</span></pre>
</div>
<p><span style="font-family: comic sans ms, sans-serif; font-size: 16px; background-color: initial">&nbsp; 这些数据在内存中都是二进制信息,标记了数值的大小。要把它们显示到屏幕上,成为我们能够读懂的信息,需要进行信息的转化。比如,数值12666,在机器中存储为二进制信息:0011000101111010B(317AH),计算机可以理解它。而我们要在显示器上读到可以理解的数值12666,我们看到的应该是一串字符:“12666”。由于 显卡遵循的是ASCII编码,为了让我们能在显示器上看到这串字符,它在机器中应以ASCII码的形式存储为:31H、32H、36H、36H、36H(字符“0”~“9”对应的ASCII码为30H~39H)。</span></p>
<p><span style="font-family: comic sans ms, sans-serif; font-size: 16px"> &nbsp;&nbsp;通过上面的分析可以看到,在概念世界中,有一个抽象的数据12666,它表示了一个数值的大小。在现实世界中它可以有多种表示形式,可以在电子机器中以高低电平(二进制)的形式存储,也可以在纸上、黑板上、屏幕上以人类的语言“12666”来书写。现在,我们面临的问题就是,要将同一抽象的数据,从一种表示形式转化为另一种表示形式。<br>
&nbsp;&nbsp;可见,要将数据用十进制形式显示到屏幕上,要进行两步工作:<br>
(1)&nbsp;&nbsp;将用二进制信息存储的数据转变为十进制形式的字符串:<br>
(2)&nbsp;&nbsp;显示十进制形式的字符串。<br>
第二步我们在本次实验的第一个子程序中已经实现,在这里只要调用一下show_str即可。我们来讨论第一步,因为将二进制信息转变为十进制形式的字符串也是经常要用到的功能,我们应该为它编写一个通用的子程序。<br>
</span></p>
<p><span style="font-family: comic sans ms, sans-serif; font-size: 16px"><strong>子程序描述</strong><br>
名称:dtoc<br>
功能:将word型数据转变为表示十进制数的字符串,字符串以0为结尾符。<br>
参数:</span></p>
<p><span style="font-family: comic sans ms, sans-serif; font-size: 16px">&nbsp; &nbsp; (ax)=word型数据<br>
&nbsp;&nbsp;&nbsp;&nbsp;ds:si指向字符串的首地址<br>
返回:无<br>
应用举例:编程,将数据12666以十进制的形式在屏幕的8行3列,用绿色显示出来。在显示时我们调用本次实验中的第一个子程序show-str。<br>
</span></p>
<p><span style="font-family: comic sans ms, sans-serif; font-size: 16px"><strong>提示</strong><br>
&nbsp;&nbsp;下面我们对这个问题进行一下简单地分析。<br>
(1)&nbsp;&nbsp;要得到字符串“12666”,就是要得到一列表示该字符的ASCII码:31H、32H、36H、36H、36H。十进制数码字符对应的ASCII码=十进制数码值+30H要得到表示十进制数的字符串,先求十进制数每位的值。例:对于12666,先求得每位的值:1、2、6、6、6。再将这些数分别加上30H,便得到了表示12666的ASCII码串:31H、32H、36H、36H、36H。<br>
(2)&nbsp;&nbsp;那么,怎样得到每位的值呢?采用如图10.2所示的方法。</span></p>














</blockquote>
<div class="cnblogs_code">
<pre><span style="font-family: comic sans ms, sans-serif"><span style="color: rgba(0, 128, 128, 1)"> 1</span> <span style="color: rgba(0, 128, 128, 1)">dtoc:</span>
<span style="color: rgba(0, 128, 128, 1)"> 2</span>         <span style="color: rgba(0, 0, 255, 1)">push</span><span style="color: rgba(0, 0, 0, 1)"> ax
</span><span style="color: rgba(0, 128, 128, 1)"> 3</span>         <span style="color: rgba(0, 0, 255, 1)">push</span><span style="color: rgba(0, 0, 0, 1)"> bx
</span><span style="color: rgba(0, 128, 128, 1)"> 4</span>         <span style="color: rgba(0, 0, 255, 1)">push</span><span style="color: rgba(0, 0, 0, 1)"> si
</span><span style="color: rgba(0, 128, 128, 1)"> 5</span>             <span style="color: rgba(0, 0, 255, 1)">mov</span> bx,<span style="color: rgba(128, 0, 128, 1)">10</span>
<span style="color: rgba(0, 128, 128, 1)"> 6</span>             <span style="color: rgba(0, 0, 255, 1)">mov</span> si,<span style="color: rgba(128, 0, 128, 1)">0</span>
<span style="color: rgba(0, 128, 128, 1)"> 7</span>            
<span style="color: rgba(0, 128, 128, 1)"> 8</span>         <span style="color: rgba(0, 128, 128, 1)">s1:</span>
<span style="color: rgba(0, 128, 128, 1)"> 9</span>                         <span style="color: rgba(0, 128, 0, 1)">;</span><span style="color: rgba(0, 128, 0, 1)">取出每一位并且将它转化为字符放到栈段里面</span>
<span style="color: rgba(0, 128, 128, 1)">10</span>             <span style="color: rgba(0, 0, 255, 1)">mov</span> dx,<span style="color: rgba(128, 0, 128, 1)">0</span>
<span style="color: rgba(0, 128, 128, 1)">11</span>             <span style="color: rgba(0, 0, 255, 1)">div</span><span style="color: rgba(0, 0, 0, 1)"> bx
</span><span style="color: rgba(0, 128, 128, 1)">12</span>             <span style="color: rgba(0, 0, 255, 1)">add</span><span style="color: rgba(0, 0, 0, 1)"> dx,30h
</span><span style="color: rgba(0, 128, 128, 1)">13</span>             <span style="color: rgba(0, 0, 255, 1)">push</span><span style="color: rgba(0, 0, 0, 1)"> dx
</span><span style="color: rgba(0, 128, 128, 1)">14</span>            
<span style="color: rgba(0, 128, 128, 1)">15</span>             <span style="color: rgba(0, 0, 255, 1)">inc</span> si    <span style="color: rgba(0, 128, 0, 1)">;</span><span style="color: rgba(0, 128, 0, 1)">记录一共push几个数字</span>
<span style="color: rgba(0, 128, 128, 1)">16</span>             <span style="color: rgba(0, 0, 255, 1)">mov</span><span style="color: rgba(0, 0, 0, 1)"> cx,ax
</span><span style="color: rgba(0, 128, 128, 1)">17</span>             <span style="color: rgba(0, 0, 255, 1)">Inc</span><span style="color: rgba(0, 0, 0, 1)"> cx
</span><span style="color: rgba(0, 128, 128, 1)">18</span> <span style="color: rgba(0, 0, 0, 1)">      loop s1
</span><span style="color: rgba(0, 128, 128, 1)">19</span>                     
<span style="color: rgba(0, 128, 128, 1)">20</span>            <span style="color: rgba(0, 0, 255, 1)">mov</span><span style="color: rgba(0, 0, 0, 1)"> cx,si
</span><span style="color: rgba(0, 128, 128, 1)">21</span>            <span style="color: rgba(0, 0, 255, 1)">mov</span> si,<span style="color: rgba(128, 0, 128, 1)">0</span>
<span style="color: rgba(0, 128, 128, 1)">22</span>         <span style="color: rgba(0, 128, 128, 1)">s2:</span>
<span style="color: rgba(0, 128, 128, 1)">23</span>            <span style="color: rgba(0, 0, 255, 1)">pop</span> <span style="color: rgba(0, 128, 128, 1)">ds:</span><span style="color: rgba(0, 0, 0, 1)">
</span><span style="color: rgba(0, 128, 128, 1)">24</span>            <span style="color: rgba(0, 0, 255, 1)">add</span> si,<span style="color: rgba(128, 0, 128, 1)">1</span>
<span style="color: rgba(0, 128, 128, 1)">25</span> <span style="color: rgba(0, 0, 0, 1)">      loop s2
</span><span style="color: rgba(0, 128, 128, 1)">26</span>         
<span style="color: rgba(0, 128, 128, 1)">27</span>         <span style="color: rgba(0, 0, 255, 1)">pop</span><span style="color: rgba(0, 0, 0, 1)"> si
</span><span style="color: rgba(0, 128, 128, 1)">28</span>         <span style="color: rgba(0, 0, 255, 1)">pop</span><span style="color: rgba(0, 0, 0, 1)"> bx
</span><span style="color: rgba(0, 128, 128, 1)">29</span>         <span style="color: rgba(0, 0, 255, 1)">pop</span><span style="color: rgba(0, 0, 0, 1)"> ax   
</span><span style="color: rgba(0, 128, 128, 1)">30</span>   <span style="color: rgba(0, 0, 255, 1)">ret</span>    </span></pre>
</div>
<p><span style="font-family: comic sans ms, sans-serif"><img style="display: block; margin-left: auto; margin-right: auto" src="https://img2018.cnblogs.com/blog/1697845/201910/1697845-20191007142921087-1714219960.png" alt="" width="537" height="185"></span></p>
<p><span style="font-family: comic sans ms, sans-serif">&nbsp;</span></p>
<p><span style="font-family: comic sans ms, sans-serif">&nbsp;</span></p>
<p><span style="font-family: comic sans ms, sans-serif">&nbsp;<strong>后记:</strong></span></p>
<p><span style="font-family: comic sans ms, sans-serif; font-size: 16px">一开始是打算这样写的,但是出现了报错,错误点是第17行。实际上当ax变成0的时候 loop,cx 默认自减一,然后cx就变成负的了,没有达到当ax变成零自动退出的目的,而且也没有三个push来保存数据,还是保有着C/C++当中的局部变量的思想Orz。这里数据恢复很重要啊</span></p>
<div class="cnblogs_code">
<pre><span style="font-family: comic sans ms, sans-serif"><span style="color: rgba(0, 128, 128, 1)"> 1</span> <span style="color: rgba(0, 128, 128, 1)">dtoc:</span>
<span style="color: rgba(0, 128, 128, 1)"> 2</span>             <span style="color: rgba(0, 0, 255, 1)">mov</span> bx,<span style="color: rgba(128, 0, 128, 1)">10</span>
<span style="color: rgba(0, 128, 128, 1)"> 3</span>             <span style="color: rgba(0, 0, 255, 1)">mov</span> si,<span style="color: rgba(128, 0, 128, 1)">0</span>
<span style="color: rgba(0, 128, 128, 1)"> 4</span>            
<span style="color: rgba(0, 128, 128, 1)"> 5</span>         <span style="color: rgba(0, 128, 128, 1)">s1:</span>
<span style="color: rgba(0, 128, 128, 1)"> 6</span>                         <span style="color: rgba(0, 128, 0, 1)">;</span><span style="color: rgba(0, 128, 0, 1)">取出每一位并且将它转化为字符放到栈段里面</span>
<span style="color: rgba(0, 128, 128, 1)"> 7</span>             <span style="color: rgba(0, 0, 255, 1)">mov</span> dx,<span style="color: rgba(128, 0, 128, 1)">0</span>
<span style="color: rgba(0, 128, 128, 1)"> 8</span>             <span style="color: rgba(0, 0, 255, 1)">div</span><span style="color: rgba(0, 0, 0, 1)"> bx
</span><span style="color: rgba(0, 128, 128, 1)"> 9</span>             <span style="color: rgba(0, 0, 255, 1)">add</span><span style="color: rgba(0, 0, 0, 1)"> dx,30h
</span><span style="color: rgba(0, 128, 128, 1)">10</span>             <span style="color: rgba(0, 0, 255, 1)">push</span><span style="color: rgba(0, 0, 0, 1)"> dx
</span><span style="color: rgba(0, 128, 128, 1)">11</span>            
<span style="color: rgba(0, 128, 128, 1)">12</span>             <span style="color: rgba(0, 0, 255, 1)">inc</span> si    <span style="color: rgba(0, 128, 0, 1)">;</span><span style="color: rgba(0, 128, 0, 1)">记录一共push几个数字</span>
<span style="color: rgba(0, 128, 128, 1)">13</span>             <span style="color: rgba(0, 0, 255, 1)">mov</span><span style="color: rgba(0, 0, 0, 1)"> cx,ax
</span><span style="color: rgba(0, 128, 128, 1)">14</span> <span style="color: rgba(0, 0, 0, 1)">      loop s1
</span><span style="color: rgba(0, 128, 128, 1)">15</span>             <span style="color: rgba(0, 0, 255, 1)">push</span><span style="color: rgba(0, 0, 0, 1)"> ax
</span><span style="color: rgba(0, 128, 128, 1)">16</span>                     
<span style="color: rgba(0, 128, 128, 1)">17</span>            <span style="color: rgba(0, 0, 255, 1)">mov</span><span style="color: rgba(0, 0, 0, 1)"> cx,si
</span><span style="color: rgba(0, 128, 128, 1)">18</span>            <span style="color: rgba(0, 0, 255, 1)">mov</span> si,<span style="color: rgba(128, 0, 128, 1)">0</span>
<span style="color: rgba(0, 128, 128, 1)">19</span>         <span style="color: rgba(0, 128, 128, 1)">s2:</span>
<span style="color: rgba(0, 128, 128, 1)">20</span>            <span style="color: rgba(0, 0, 255, 1)">pop</span> <span style="color: rgba(0, 128, 128, 1)">ds:</span><span style="color: rgba(0, 0, 0, 1)">
</span><span style="color: rgba(0, 128, 128, 1)">21</span>            <span style="color: rgba(0, 0, 255, 1)">add</span> si,<span style="color: rgba(128, 0, 128, 1)">1</span>
<span style="color: rgba(0, 128, 128, 1)">22</span> <span style="color: rgba(0, 0, 0, 1)">      loop s2
</span><span style="color: rgba(0, 128, 128, 1)">23</span> <span style="color: rgba(0, 0, 255, 1)">ret</span>    </span></pre>
</div>
<p><span style="font-family: comic sans ms, sans-serif"><img style="display: block; margin-left: auto; margin-right: auto" src="https://img2018.cnblogs.com/blog/1697845/201910/1697845-20191007142346446-1062339648.png" alt=""></span></p>
<p><span style="font-family: comic sans ms, sans-serif">&nbsp;</span></p>
<hr>
<h2><span style="font-family: comic sans ms, sans-serif">&nbsp;实验十一:</span></h2>
<div class="cnblogs_Highlighter">
<pre class="brush:as3;gutter:true;">;实验十一
<span style="font-family: comic sans ms, sans-serif">assume cs:codeseg

dataseg segment
        db "Beginner's All-purpose Symboliv Instruction Code.",0
dataseg ends

codeseg segment
        begin:
                mov ax,dataseg
                mov ds,ax       ;数据段初始化
                mov si,0                ;data:
                call letters
               
                mov ax,4c00h
                int 21h

letters:
s:        mov cl,ds:        ;ds:=&gt; 将data段的每一位赋值给cl,那么当读到最后一位的0就会退出循环
        jcxz ok         ;当cx为0的时候跳转到ok
        mov bl,97                ;97 ascii 是一个“a”
        cmp cl,bl                ;执行cl-bl判断大小影响cl &gt; bl ==&gt; cf,zf
        jnb ba                ;大于等于就转移到ba,检测cf是否等于0(NC)
        inc si
        loop s
       
ba:                                        ;大于等于a跳到这
        mov bl,122
        cmp cl,bl
        jna lz                        ;小于等于就转移检测cf/zf是否等于1(ZR)
        inc si          ;不然就找下一个
        jmp letters
lz:                                        ;小于等于z跳到这( a&lt;= x &lt;=z )
    and cl,11011111b
        mov ds:,cl
        inc si
        jmp letters
ok:
        ret
       
codeseg ends
end begin
</span></pre>
</div>
<p><img style="margin-right: auto; margin-left: auto; display: block" src="https://img2018.cnblogs.com/blog/1697845/201910/1697845-20191016212332238-49238752.png" alt="" width="579" height="144"></p>
<p><img style="margin-right: auto; margin-left: auto; display: block" src="https://img2018.cnblogs.com/blog/1697845/201910/1697845-20191016212359263-505164864.png" alt="" width="510" height="207"></p>
<p>&nbsp;</p>
<hr>
<h2>实验十二:</h2>
<div class="cnblogs_Highlighter">
<pre class="brush:as3;gutter:true;"><span style="font-size: 16px; font-family: &quot;comic sans ms&quot;, sans-serif">      mov ax, cs
      mov ds, ax
      mov si, offset do0
</span></pre>
</div>
<p><span style="font-size: 16px; font-family: &quot;comic sans ms&quot;, sans-serif">设定ds段,用C语言来描述就是相当于有一个data段的指针,将其指向code段(asm代码中的第29行)</span></p>
<p><span style="font-size: 16px; font-family: &quot;comic sans ms&quot;, sans-serif"><img style="display: block; margin-left: auto; margin-right: auto" src="https://img2018.cnblogs.com/blog/1697845/201910/1697845-20191023152107605-1530054259.png" alt="" width="783" height="707"></span></p>
<div class="cnblogs_Highlighter">
<pre class="brush:as3;gutter:true;"><span style="font-size: 16px; font-family: &quot;comic sans ms&quot;, sans-serif">      mov ax, 0
      mov es, ax
      mov di, 200h
</span></pre>
</div>
<p><span style="font-size: 16px; font-family: &quot;comic sans ms&quot;, sans-serif">设定es段,用C语言来描述就是相当于有一个指针,将其指向内存中的0:</span></p>
<p><span style="font-size: 16px; font-family: &quot;comic sans ms&quot;, sans-serif"><img style="display: block; margin-left: auto; margin-right: auto" src="https://img2018.cnblogs.com/blog/1697845/201910/1697845-20191023152406942-881339380.png" alt="" width="732" height="438"></span></p>
<div class="cnblogs_Highlighter">
<pre class="brush:as3;gutter:true;"><span style="font-family: &quot;comic sans ms&quot;, sans-serif; font-size: 16px">      mov cx, offset do0end - offset do0
      cld
      rep movsb</span></pre>
</div>
<h3><strong><span style="font-family: &quot;comic sans ms&quot;, sans-serif; font-size: 16px">复习一下:</span></strong></h3>
<p><span style="font-family: &quot;comic sans ms&quot;, sans-serif; font-size: 16px">MOVSB:字符串传送指令,这条指令按字节传送数据。通过SI和DI这两个寄存器控制字符串的源地址和目标地址,比如DS:SI这段地址的N个字节复制到ES:DI指向的地址,复制后DS:SI的内容保持不变。</span></p>
<p><span style="font-family: &quot;comic sans ms&quot;, sans-serif; font-size: 16px">REP:指令就是“重复”的意思,术语叫做“重复前缀指令”,因为既然是传递字符串,则不可能一个字(节)一个字(节)地传送,所以需要有一个寄存器来控制串长度。这个寄存器就是CX,指令每次执行前都会判断CX的值是否为0(为0结束重复,不为0,CX的值减1),以此来设定重复执行的次数。因此设置好CX的值之后就可以用REP MOVSB了。</span></p>
<p><span style="font-family: &quot;comic sans ms&quot;, sans-serif; font-size: 16px">CLD:则是清方向标志位,也就是使DF的值为0,在执行串操作时,使地址按递增的方式变化,这样便于调整相关段的的当前指针。这条指令与STD的执行结果相反,即置DF的值为1。</span></p>
<p><span style="font-family: &quot;comic sans ms&quot;, sans-serif; font-size: 16px">所以说这三条的意思是将ds的内容赋值到es中。</span></p>
<p><span style="font-family: &quot;comic sans ms&quot;, sans-serif; font-size: 16px"><img style="display: block; margin-left: auto; margin-right: auto" src="https://img2018.cnblogs.com/blog/1697845/201910/1697845-20191023153224384-1491021252.png" alt="" width="748" height="243"></span></p>
<div class="cnblogs_Highlighter">
<pre class="brush:as3;gutter:true;"><span style="font-family: &quot;comic sans ms&quot;, sans-serif; font-size: 16px">      mov ax, cs
      mov ds, ax
      mov si, 202h      
            
      mov ax, 0b800h
      mov es, ax
      mov di, 12*160+36*2</span>  </pre>
</div>
<p><span style="font-size: 16px; font-family: &quot;comic sans ms&quot;, sans-serif">这一段是设置显示结果的初始化(指定ds,es段),其中在</span><span style="font-size: 16px; font-family: &quot;comic sans ms&quot;, sans-serif">&nbsp; “mov si,202h”中为什么设定si是202h ?因为rep movsb之后0:200段已经放的是cs中的代码,所以可以直接用</span></p>
<p><img style="display: block; margin-left: auto; margin-right: auto" src="https://img2018.cnblogs.com/blog/1697845/201910/1697845-20191023162133480-465725907.png" alt="" width="895" height="349"></p>
<div class="cnblogs_Highlighter">
<pre class="brush:as3;gutter:true;"><span style="font-family: &quot;comic sans ms&quot;, sans-serif; font-size: 16px">mov cx,9
                mov bl,2
          s:mov al,ds:
          mov es:,al
                mov es:,bl
                inc si
                add di,2
                loop s  </span></pre>
</div>
<p><span style="font-size: 16px"><span style="font-family: &quot;comic sans ms&quot;, sans-serif"><span style="font-family: &quot;comic sans ms&quot;, sans-serif">这一段是把ds段中的db内容赋值到显存区,其中“</span></span><span style="font-family: &quot;comic sans ms&quot;, sans-serif">mov es:,bl”设定颜色是绿的</span></span></p>
<div class="cnblogs_Highlighter">
<pre class="brush:as3;gutter:true;"><span style="font-family: &quot;comic sans ms&quot;, sans-serif; font-size: 16px">      mov ax, 0
      mov es, ax
      mov word ptr es:, 200h
      mov word ptr es:, 0</span></pre>
</div>
<p><span style="font-size: 16px; font-family: &quot;comic sans ms&quot;, sans-serif">设置中断向量将入口地址0:200写入中断向量表0号表项中,0号表项的地址是0:0</span></p>
<div class="cnblogs_Highlighter">
<pre class="brush:as3;gutter:true;"><span style="font-family: &quot;comic sans ms&quot;, sans-serif; font-size: 16px">        mov ax, 1000
      mov bl, 1
      div bl
</span></pre>
</div>
<p><span style="font-family: &quot;comic sans ms&quot;, sans-serif; font-size: 16px"> 一段除法溢出,测试写的对不对 </span></p>
<p><span style="font-family: &quot;comic sans ms&quot;, sans-serif; font-size: 16px"><img style="display: block; margin-left: auto; margin-right: auto" src="https://img2018.cnblogs.com/blog/1697845/201910/1697845-20191023164339190-455961414.png" alt="" width="652" height="307"></span></p>
<div class="cnblogs_code"><span style="font-family: &quot;comic sans ms&quot;, sans-serif"><img id="code_img_closed_9a040904-fe72-4274-b1dd-eea092779630" class="code_img_closed" src="https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif" alt=""><img id="code_img_opened_9a040904-fe72-4274-b1dd-eea092779630" class="code_img_opened" style="display: none" src="https://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif" alt=""></span>
<div id="cnblogs_code_open_9a040904-fe72-4274-b1dd-eea092779630" class="cnblogs_code_hide">
<pre><span style="font-family: &quot;comic sans ms&quot;, sans-serif; font-size: 16px">assume <span style="color: rgba(0, 128, 128, 1)">cs:</span><span style="color: rgba(0, 0, 0, 1)">codesg
codesg segment
    </span><span style="color: rgba(0, 128, 128, 1)">start:</span>
      <span style="color: rgba(0, 0, 255, 1)">mov</span><span style="color: rgba(0, 0, 0, 1)"> ax, cs
      </span><span style="color: rgba(0, 0, 255, 1)">mov</span><span style="color: rgba(0, 0, 0, 1)"> ds, ax
      </span><span style="color: rgba(0, 0, 255, 1)">mov</span><span style="color: rgba(0, 0, 0, 1)"> si, offset do0
      </span><span style="color: rgba(0, 0, 255, 1)">mov</span> ax, <span style="color: rgba(128, 0, 128, 1)">0</span>
      <span style="color: rgba(0, 0, 255, 1)">mov</span><span style="color: rgba(0, 0, 0, 1)"> es, ax
      </span><span style="color: rgba(0, 0, 255, 1)">mov</span><span style="color: rgba(0, 0, 0, 1)"> di, 200h
      
      </span><span style="color: rgba(0, 0, 255, 1)">mov</span><span style="color: rgba(0, 0, 0, 1)"> cx, offset do0end - offset do0
      </span><span style="color: rgba(0, 0, 255, 1)">cld</span>
      <span style="color: rgba(0, 0, 255, 1)">rep</span> <span style="color: rgba(0, 0, 255, 1)">movsb</span>
      
      <span style="color: rgba(0, 0, 255, 1)">mov</span> ax, <span style="color: rgba(128, 0, 128, 1)">0</span>
      <span style="color: rgba(0, 0, 255, 1)">mov</span><span style="color: rgba(0, 0, 0, 1)"> es, ax
      </span><span style="color: rgba(0, 0, 255, 1)">mov</span> word ptr <span style="color: rgba(0, 128, 128, 1)">es:</span>[<span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">], 200h
      </span><span style="color: rgba(0, 0, 255, 1)">mov</span> word ptr <span style="color: rgba(0, 128, 128, 1)">es:</span>[<span style="color: rgba(128, 0, 128, 1)">2</span>], <span style="color: rgba(128, 0, 128, 1)">0</span>
      
      <span style="color: rgba(0, 0, 255, 1)">mov</span> ax, <span style="color: rgba(128, 0, 128, 1)">1000</span>
      <span style="color: rgba(0, 0, 255, 1)">mov</span> bl, <span style="color: rgba(128, 0, 128, 1)">1</span>
      <span style="color: rgba(0, 0, 255, 1)">div</span><span style="color: rgba(0, 0, 0, 1)"> bl
      
      </span><span style="color: rgba(0, 0, 255, 1)">mov</span><span style="color: rgba(0, 0, 0, 1)"> ax, 4c00h
      </span><span style="color: rgba(0, 0, 255, 1)">int</span><span style="color: rgba(0, 0, 0, 1)"> 21h
      
    </span><span style="color: rgba(0, 128, 128, 1)">do0:</span>
      <span style="color: rgba(0, 0, 255, 1)">jmp</span><span style="color: rgba(0, 0, 0, 1)"> short do0start
      db </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">overflow!</span><span style="color: rgba(128, 0, 0, 1)">"</span>   
    <span style="color: rgba(0, 128, 128, 1)">do0start:</span>
      <span style="color: rgba(0, 0, 255, 1)">mov</span><span style="color: rgba(0, 0, 0, 1)"> ax, cs
      </span><span style="color: rgba(0, 0, 255, 1)">mov</span><span style="color: rgba(0, 0, 0, 1)"> ds, ax
      </span><span style="color: rgba(0, 0, 255, 1)">mov</span><span style="color: rgba(0, 0, 0, 1)"> si, 202h      
            
      </span><span style="color: rgba(0, 0, 255, 1)">mov</span><span style="color: rgba(0, 0, 0, 1)"> ax, 0b800h
      </span><span style="color: rgba(0, 0, 255, 1)">mov</span><span style="color: rgba(0, 0, 0, 1)"> es, ax
      </span><span style="color: rgba(0, 0, 255, 1)">mov</span> di, <span style="color: rgba(128, 0, 128, 1)">12</span>*<span style="color: rgba(128, 0, 128, 1)">160</span>+<span style="color: rgba(128, 0, 128, 1)">36</span>*<span style="color: rgba(128, 0, 128, 1)">2</span>
      
      <span style="color: rgba(0, 0, 255, 1)">mov</span> cx,<span style="color: rgba(128, 0, 128, 1)">9</span>
      <span style="color: rgba(0, 0, 255, 1)">mov</span> bl,<span style="color: rgba(128, 0, 128, 1)">2</span>
      <span style="color: rgba(0, 128, 128, 1)">s:</span><span style="color: rgba(0, 0, 255, 1)">mov</span> al,<span style="color: rgba(0, 128, 128, 1)">ds:</span><span style="color: rgba(0, 0, 0, 1)">
      </span><span style="color: rgba(0, 0, 255, 1)">mov</span> <span style="color: rgba(0, 128, 128, 1)">es:</span><span style="color: rgba(0, 0, 0, 1)">,al
      </span><span style="color: rgba(0, 0, 255, 1)">mov</span> <span style="color: rgba(0, 128, 128, 1)">es:</span>,bl
      </span><span style="color: rgba(0, 0, 255, 1)">inc</span><span style="color: rgba(0, 0, 0, 1)"> si
      </span><span style="color: rgba(0, 0, 255, 1)">add</span> di,<span style="color: rgba(128, 0, 128, 1)">2</span><span style="color: rgba(0, 0, 0, 1)">
      loop s
      
       </span><span style="color: rgba(0, 0, 255, 1)">mov</span><span style="color: rgba(0, 0, 0, 1)"> ax,4c00h
       </span><span style="color: rgba(0, 0, 255, 1)">int</span><span style="color: rgba(0, 0, 0, 1)"> 21h
    </span><span style="color: rgba(0, 128, 128, 1)">do0end:</span>
      <span style="color: rgba(0, 0, 255, 1)">nop</span><span style="color: rgba(0, 0, 0, 1)">
   
codesg ends
end start</span></span></pre>
</div>
<span class="cnblogs_code_collapse" style="font-family: &quot;comic sans ms&quot;, sans-serif; font-size: 16px">完整代码</span></div>
<p><span style="font-family: &quot;comic sans ms&quot;, sans-serif; font-size: 16px">&nbsp;</span></p>
<hr>
<p>&nbsp;</p>
<h2><span style="font-family: &quot;comic sans ms&quot;, sans-serif">十三章案例:</span></h2>
<p><strong><span style="font-family: &quot;comic sans ms&quot;, sans-serif; font-size: 16px; color: rgba(255, 153, 0, 1)">问题一:编写安装中断7ch的中断案例</span></strong></p>
<p><span style="font-family: &quot;comic sans ms&quot;, sans-serif; font-size: 16px">功能:求一word型数据的平方</span></p>
<p><span style="font-family: &quot;comic sans ms&quot;, sans-serif; font-size: 16px">参数:(ax)=要计算的数据</span></p>
<p><span style="font-family: &quot;comic sans ms&quot;, sans-serif; font-size: 16px">返回值:dx,ax中存放结果的高16位和低16位</span></p>
<p><span style="font-family: &quot;comic sans ms&quot;, sans-serif; font-size: 16px">应用举例:求2*3456^2</span></p>
<div class="cnblogs_code"><span style="font-family: &quot;comic sans ms&quot;, sans-serif; font-size: 16px"><img id="code_img_closed_f1e81402-5bce-46df-b12b-aea5f4a65e80" class="code_img_closed" src="https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif" alt=""><img id="code_img_opened_f1e81402-5bce-46df-b12b-aea5f4a65e80" class="code_img_opened" style="display: none" src="https://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif" alt=""></span>
<div id="cnblogs_code_open_f1e81402-5bce-46df-b12b-aea5f4a65e80" class="cnblogs_code_hide">
<pre><span style="font-family: &quot;comic sans ms&quot;, sans-serif; font-size: 16px">assume <span style="color: rgba(0, 128, 128, 1)">cs:</span><span style="color: rgba(0, 0, 0, 1)">code
code segment
    </span><span style="color: rgba(0, 128, 128, 1)">start:</span>
            <span style="color: rgba(0, 0, 255, 1)">mov</span> ax,<span style="color: rgba(128, 0, 128, 1)">3456</span>
            <span style="color: rgba(0, 0, 255, 1)">jmp</span><span style="color: rgba(0, 0, 0, 1)"> install
      </span><span style="color: rgba(0, 128, 128, 1)">finish:</span>
             <span style="color: rgba(0, 0, 255, 1)">int</span><span style="color: rgba(0, 0, 0, 1)"> 7ch
            </span><span style="color: rgba(0, 0, 255, 1)">add</span><span style="color: rgba(0, 0, 0, 1)"> ax,ax
            </span><span style="color: rgba(0, 0, 255, 1)">adc</span><span style="color: rgba(0, 0, 0, 1)"> dx,dx
                     </span><span style="color: rgba(0, 128, 0, 1)">;</span><span style="color: rgba(0, 128, 0, 1)">上面两条进行的是加法,dx存放高位,ax存放低位</span>
            <span style="color: rgba(0, 0, 255, 1)">mov</span><span style="color: rgba(0, 0, 0, 1)"> ax,4c00h
            </span><span style="color: rgba(0, 0, 255, 1)">int</span><span style="color: rgba(0, 0, 0, 1)"> 21h
            
    </span><span style="color: rgba(0, 128, 128, 1)">install:</span>
      <span style="color: rgba(0, 0, 255, 1)">push</span><span style="color: rgba(0, 0, 0, 1)"> ax
      </span><span style="color: rgba(0, 0, 255, 1)">push</span><span style="color: rgba(0, 0, 0, 1)"> cx
      </span><span style="color: rgba(0, 0, 255, 1)">push</span><span style="color: rgba(0, 0, 0, 1)"> ds
      </span><span style="color: rgba(0, 0, 255, 1)">push</span><span style="color: rgba(0, 0, 0, 1)"> si
      </span><span style="color: rgba(0, 0, 255, 1)">push</span><span style="color: rgba(0, 0, 0, 1)"> es
      </span><span style="color: rgba(0, 0, 255, 1)">push</span><span style="color: rgba(0, 0, 0, 1)"> di
      
      </span><span style="color: rgba(0, 0, 255, 1)">mov</span><span style="color: rgba(0, 0, 0, 1)"> ax,cs
      </span><span style="color: rgba(0, 0, 255, 1)">mov</span><span style="color: rgba(0, 0, 0, 1)"> ds,ax
      </span><span style="color: rgba(0, 0, 255, 1)">mov</span><span style="color: rgba(0, 0, 0, 1)"> si,offset sqr
                            </span><span style="color: rgba(0, 128, 0, 1)">;</span><span style="color: rgba(0, 128, 0, 1)">将代码段的数据给data段</span>
      <span style="color: rgba(0, 0, 255, 1)">mov</span> ax,<span style="color: rgba(128, 0, 128, 1)">0</span>
      <span style="color: rgba(0, 0, 255, 1)">mov</span><span style="color: rgba(0, 0, 0, 1)"> es,ax
      </span><span style="color: rgba(0, 0, 255, 1)">mov</span><span style="color: rgba(0, 0, 0, 1)"> di,200h
      </span><span style="color: rgba(0, 0, 255, 1)">mov</span><span style="color: rgba(0, 0, 0, 1)"> cx,offset sqrend-offset sqr
      </span><span style="color: rgba(0, 0, 255, 1)">cld</span>
      <span style="color: rgba(0, 0, 255, 1)">rep</span> <span style="color: rgba(0, 0, 255, 1)">movsb</span>
      
      <span style="color: rgba(0, 0, 255, 1)">mov</span> ax,<span style="color: rgba(128, 0, 128, 1)">0</span>
      <span style="color: rgba(0, 0, 255, 1)">mov</span><span style="color: rgba(0, 0, 0, 1)"> es,ax
      </span><span style="color: rgba(0, 0, 255, 1)">mov</span> word ptr <span style="color: rgba(0, 128, 128, 1)">es:</span>,200h
      </span><span style="color: rgba(0, 0, 255, 1)">mov</span> word ptr <span style="color: rgba(0, 128, 128, 1)">es:</span>,<span style="color: rgba(128, 0, 128, 1)">0</span>
      
      <span style="color: rgba(0, 0, 255, 1)">pop</span><span style="color: rgba(0, 0, 0, 1)"> di
      </span><span style="color: rgba(0, 0, 255, 1)">pop</span><span style="color: rgba(0, 0, 0, 1)"> es
      </span><span style="color: rgba(0, 0, 255, 1)">pop</span><span style="color: rgba(0, 0, 0, 1)"> si
      </span><span style="color: rgba(0, 0, 255, 1)">pop</span><span style="color: rgba(0, 0, 0, 1)"> ds
      </span><span style="color: rgba(0, 0, 255, 1)">pop</span><span style="color: rgba(0, 0, 0, 1)"> cx
      </span><span style="color: rgba(0, 0, 255, 1)">pop</span><span style="color: rgba(0, 0, 0, 1)"> ax
      
      </span><span style="color: rgba(0, 0, 255, 1)">jmp</span><span style="color: rgba(0, 0, 0, 1)"> finish      
    </span><span style="color: rgba(0, 128, 128, 1)">sqr:</span>
      <span style="color: rgba(0, 0, 255, 1)">mul</span><span style="color: rgba(0, 0, 0, 1)"> ax
      </span><span style="color: rgba(0, 0, 255, 1)">iret</span>
    <span style="color: rgba(0, 128, 128, 1)">sqrend:</span>
      <span style="color: rgba(0, 0, 255, 1)">nop</span><span style="color: rgba(0, 0, 0, 1)">
   
      
      
      
code ends
end start</span></span></pre>
</div>
<span class="cnblogs_code_collapse" style="font-family: &quot;comic sans ms&quot;, sans-serif; font-size: 16px">View Code</span></div>
<p><img style="display: block; margin-left: auto; margin-right: auto" src="https://img2018.cnblogs.com/blog/1697845/201910/1697845-20191023172049647-1950078408.png" alt="" width="730" height="315"></p>
<p><span style="font-size: 16px; font-family: &quot;comic sans ms&quot;, sans-serif">&nbsp;达到的目的:</span></p>
<p><img style="display: block; margin-left: auto; margin-right: auto" src="https://img2018.cnblogs.com/blog/1697845/201910/1697845-20191023173110790-529626473.png" alt="" width="419" height="245"></p>
<p>&nbsp;</p>
<div class="cnblogs_code"><img id="code_img_closed_ed54ce67-15ba-4f61-be21-b13b4ae3d08a" class="code_img_closed" src="https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif" alt=""><img id="code_img_opened_ed54ce67-15ba-4f61-be21-b13b4ae3d08a" class="code_img_opened" style="display: none" src="https://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif" alt="">
<div id="cnblogs_code_open_ed54ce67-15ba-4f61-be21-b13b4ae3d08a" class="cnblogs_code_hide">
<pre><span style="color: rgba(0, 128, 0, 1)">;</span><span style="color: rgba(0, 128, 0, 1)"> assume cs:codeseg</span><span style="color: rgba(0, 128, 0, 1)">
;</span><span style="color: rgba(0, 128, 0, 1)"> codeseg segment</span>
    <span style="color: rgba(0, 128, 0, 1)">;</span><span style="color: rgba(0, 128, 0, 1)"> start:mov ax,0b800h</span>
    <span style="color: rgba(0, 128, 0, 1)">;</span><span style="color: rgba(0, 128, 0, 1)"> mov es,ax </span>
    <span style="color: rgba(0, 128, 0, 1)">;</span><span style="color: rgba(0, 128, 0, 1)"> mov byte ptr es:,'!'</span>
    <span style="color: rgba(0, 128, 0, 1)">;</span><span style="color: rgba(0, 128, 0, 1)"> int 0</span>
   
    <span style="color: rgba(0, 128, 0, 1)">;</span><span style="color: rgba(0, 128, 0, 1)"> mov ax,4c00h</span>
    <span style="color: rgba(0, 128, 0, 1)">;</span><span style="color: rgba(0, 128, 0, 1)"> int 21</span><span style="color: rgba(0, 128, 0, 1)">
;</span><span style="color: rgba(0, 128, 0, 1)"> codeseg ends</span><span style="color: rgba(0, 128, 0, 1)">
;</span><span style="color: rgba(0, 128, 0, 1)"> end start</span>
<span style="color: rgba(0, 0, 0, 1)">
assume </span><span style="color: rgba(0, 128, 128, 1)">cs:</span><span style="color: rgba(0, 0, 0, 1)">code
data segment
    db </span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">conversation</span><span style="color: rgba(128, 0, 0, 1)">'</span>,<span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">
data ends

code segment
    </span><span style="color: rgba(0, 128, 128, 1)">start:</span>
            <span style="color: rgba(0, 0, 255, 1)">mov</span><span style="color: rgba(0, 0, 0, 1)"> ax,data
            </span><span style="color: rgba(0, 0, 255, 1)">mov</span><span style="color: rgba(0, 0, 0, 1)"> ds,ax
            </span><span style="color: rgba(0, 0, 255, 1)">mov</span> si,<span style="color: rgba(128, 0, 128, 1)">0</span>
            
            <span style="color: rgba(0, 0, 255, 1)">jmp</span><span style="color: rgba(0, 0, 0, 1)"> install
      </span><span style="color: rgba(0, 128, 128, 1)">finish:</span>
             <span style="color: rgba(0, 0, 255, 1)">int</span><span style="color: rgba(0, 0, 0, 1)"> 7ch
                     
            </span><span style="color: rgba(0, 128, 0, 1)">;</span><span style="color: rgba(0, 128, 0, 1)"> mov ax, 0b800h</span>
            <span style="color: rgba(0, 128, 0, 1)">;</span><span style="color: rgba(0, 128, 0, 1)"> mov es, ax</span>
            <span style="color: rgba(0, 128, 0, 1)">;</span><span style="color: rgba(0, 128, 0, 1)"> mov di, 12*160+36*2 </span>
            
            <span style="color: rgba(0, 128, 0, 1)">;</span><span style="color: rgba(0, 128, 0, 1)"> mov bl,2</span>
          <span style="color: rgba(0, 128, 0, 1)">;</span><span style="color: rgba(0, 128, 0, 1)"> s:mov ch,0</span>
            <span style="color: rgba(0, 128, 0, 1)">;</span><span style="color: rgba(0, 128, 0, 1)"> mov cl,ds:</span>
            <span style="color: rgba(0, 128, 0, 1)">;</span><span style="color: rgba(0, 128, 0, 1)"> mov es:,al</span>
            <span style="color: rgba(0, 128, 0, 1)">;</span><span style="color: rgba(0, 128, 0, 1)"> mov es:,bl</span>
            <span style="color: rgba(0, 128, 0, 1)">;</span><span style="color: rgba(0, 128, 0, 1)"> inc si</span>
            <span style="color: rgba(0, 128, 0, 1)">;</span><span style="color: rgba(0, 128, 0, 1)"> add di,2</span>
            
            <span style="color: rgba(0, 128, 0, 1)">;</span><span style="color: rgba(0, 128, 0, 1)"> loop s</span>
            <span style="color: rgba(0, 128, 0, 1)">;</span><span style="color: rgba(0, 128, 0, 1)"> ;设置屏幕显示      </span>
            
            <span style="color: rgba(0, 0, 255, 1)">mov</span><span style="color: rgba(0, 0, 0, 1)"> ax,4c00h
            </span><span style="color: rgba(0, 0, 255, 1)">int</span><span style="color: rgba(0, 0, 0, 1)"> 21h
            
    </span><span style="color: rgba(0, 128, 128, 1)">install:</span>
      <span style="color: rgba(0, 0, 255, 1)">push</span><span style="color: rgba(0, 0, 0, 1)"> ax
      </span><span style="color: rgba(0, 0, 255, 1)">push</span><span style="color: rgba(0, 0, 0, 1)"> cx
      </span><span style="color: rgba(0, 0, 255, 1)">push</span><span style="color: rgba(0, 0, 0, 1)"> ds
      </span><span style="color: rgba(0, 0, 255, 1)">push</span><span style="color: rgba(0, 0, 0, 1)"> si
      </span><span style="color: rgba(0, 0, 255, 1)">push</span><span style="color: rgba(0, 0, 0, 1)"> es
      </span><span style="color: rgba(0, 0, 255, 1)">push</span><span style="color: rgba(0, 0, 0, 1)"> dx
      
      </span><span style="color: rgba(0, 128, 128, 1)">s_start:</span>
      <span style="color: rgba(0, 0, 255, 1)">mov</span><span style="color: rgba(0, 0, 0, 1)"> ax,cs
      </span><span style="color: rgba(0, 0, 255, 1)">mov</span><span style="color: rgba(0, 0, 0, 1)"> ds,ax
      </span><span style="color: rgba(0, 0, 255, 1)">mov</span><span style="color: rgba(0, 0, 0, 1)"> si,offset capital
      
      </span><span style="color: rgba(0, 0, 255, 1)">mov</span> ax,<span style="color: rgba(128, 0, 128, 1)">0</span>
      <span style="color: rgba(0, 0, 255, 1)">mov</span><span style="color: rgba(0, 0, 0, 1)"> es,ax
      </span><span style="color: rgba(0, 0, 255, 1)">mov</span><span style="color: rgba(0, 0, 0, 1)"> di,200h
      
      </span><span style="color: rgba(0, 0, 255, 1)">mov</span><span style="color: rgba(0, 0, 0, 1)"> cx,offset capitalend - offset capital
      </span><span style="color: rgba(0, 0, 255, 1)">cld</span>
      <span style="color: rgba(0, 0, 255, 1)">rep</span> <span style="color: rgba(0, 0, 255, 1)">movsb</span>
                  <span style="color: rgba(0, 128, 0, 1)">;</span><span style="color: rgba(0, 128, 0, 1)">上面完成的是赋值            </span>
      <span style="color: rgba(0, 0, 255, 1)">mov</span> ax,<span style="color: rgba(128, 0, 128, 1)">0</span>
      <span style="color: rgba(0, 0, 255, 1)">mov</span><span style="color: rgba(0, 0, 0, 1)"> es,ax
      </span><span style="color: rgba(0, 0, 255, 1)">mov</span> word ptr <span style="color: rgba(0, 128, 128, 1)">es:</span>,200h
      </span><span style="color: rgba(0, 0, 255, 1)">mov</span> word ptr <span style="color: rgba(0, 128, 128, 1)">es:</span>,<span style="color: rgba(128, 0, 128, 1)">0</span>
                  <span style="color: rgba(0, 128, 0, 1)">;</span><span style="color: rgba(0, 128, 0, 1)">将地址写入</span>
      <span style="color: rgba(0, 0, 255, 1)">pop</span><span style="color: rgba(0, 0, 0, 1)"> dx
      </span><span style="color: rgba(0, 0, 255, 1)">pop</span><span style="color: rgba(0, 0, 0, 1)"> es
      </span><span style="color: rgba(0, 0, 255, 1)">pop</span><span style="color: rgba(0, 0, 0, 1)"> si
      </span><span style="color: rgba(0, 0, 255, 1)">pop</span><span style="color: rgba(0, 0, 0, 1)"> ds
      </span><span style="color: rgba(0, 0, 255, 1)">pop</span><span style="color: rgba(0, 0, 0, 1)"> cx
      </span><span style="color: rgba(0, 0, 255, 1)">pop</span><span style="color: rgba(0, 0, 0, 1)"> ax
      
      </span><span style="color: rgba(0, 0, 255, 1)">jmp</span><span style="color: rgba(0, 0, 0, 1)"> finish
      
    </span><span style="color: rgba(0, 128, 128, 1)">capital:</span>
            <span style="color: rgba(0, 128, 0, 1)">;</span><span style="color: rgba(0, 128, 0, 1)">小写转大写的功能函数</span>
            <span style="color: rgba(0, 0, 255, 1)">push</span><span style="color: rgba(0, 0, 0, 1)"> dx
            </span><span style="color: rgba(0, 0, 255, 1)">push</span><span style="color: rgba(0, 0, 0, 1)"> cx
            </span><span style="color: rgba(0, 0, 255, 1)">push</span><span style="color: rgba(0, 0, 0, 1)"> si
            
            </span><span style="color: rgba(0, 0, 255, 1)">mov</span><span style="color: rgba(0, 0, 0, 1)"> ax,data
            </span><span style="color: rgba(0, 0, 255, 1)">mov</span><span style="color: rgba(0, 0, 0, 1)"> dx,ax
            
            </span><span style="color: rgba(0, 0, 255, 1)">mov</span> si,<span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">
      change :
            </span><span style="color: rgba(0, 0, 255, 1)">mov</span> cl,<span style="color: rgba(0, 128, 128, 1)">ds:</span><span style="color: rgba(0, 0, 0, 1)">
            </span><span style="color: rgba(0, 0, 255, 1)">mov</span> ch,<span style="color: rgba(128, 0, 128, 1)">0</span>
            <span style="color: rgba(0, 0, 255, 1)">jcxz</span><span style="color: rgba(0, 0, 0, 1)"> ok
            </span><span style="color: rgba(0, 0, 255, 1)">and</span> byte ptr ,11<span style="color: rgba(128, 0, 128, 1)">011111b</span>
            <span style="color: rgba(0, 0, 255, 1)">inc</span><span style="color: rgba(0, 0, 0, 1)"> si
            </span><span style="color: rgba(0, 0, 255, 1)">jmp</span><span style="color: rgba(0, 0, 0, 1)"> short change
      </span><span style="color: rgba(0, 128, 128, 1)">ok:</span>
            <span style="color: rgba(0, 0, 255, 1)">pop</span><span style="color: rgba(0, 0, 0, 1)"> si
            </span><span style="color: rgba(0, 0, 255, 1)">pop</span><span style="color: rgba(0, 0, 0, 1)"> cx
            </span><span style="color: rgba(0, 0, 255, 1)">pop</span><span style="color: rgba(0, 0, 0, 1)"> dx
            </span><span style="color: rgba(0, 0, 255, 1)">iret</span>
    <span style="color: rgba(0, 128, 128, 1)">capitalend:</span><span style="color: rgba(0, 0, 255, 1)">nop</span><span style="color: rgba(0, 0, 0, 1)">
            
code ends
end start</span></pre>
</div>
<span class="cnblogs_code_collapse">问题二的asm,还在改</span></div>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><span style="font-size: 16px; font-family: &quot;comic sans ms&quot;, sans-serif"> </span> </p>
<p>&nbsp;</p>
<p> </p>
<p>&nbsp;</p><br><br>
来源:https://www.cnblogs.com/chrysanthemum/p/11456457.html
頁: [1]
查看完整版本: 《汇编语言(王爽)第三版》实验【未完待续】