沪上村夫 發表於 2021-2-7 19:25:00

【汇编语言】《汇编语言》王爽-实验一

<h1 id="汇编语言汇编语言王爽-实验1">【汇编语言】《汇编语言》王爽-实验1</h1>
<h2 id="1-将给定命令写入内存逐条执行观察寄存器内容变化">1. 将给定命令写入内存,逐条执行观察寄存器内容变化。</h2>
<p>从<span class="math inline">\(1000:0\)</span>开始写入命令:</p>
<pre><code>- A 1000:0
- MOV AX,4E20
- ADD AX,1416
- MOV BX,2000
- ADD AX,BX
- MOV BX,AX
- ADD AX,BX
- MOV AX,001A
- MOV BX,0026
- ADD AL,BL
- ADD AH,BL
- ADD BH,AL
- MOV AH,0
- ADD AL,BL
- ADD AL,9C
</code></pre>
<p>改变<span class="math inline">\(CS:IP\)</span>指向的内存单元:</p>
<pre><code>- R CS
- 1000
- R IP
- 0000
</code></pre>
<hr>
<h2 id="2-将给定的指令写入内存利用给定的指令计算的次方">2. 将给定的指令写入内存,利用给定的指令计算<span class="math inline">\(2\)</span>的<span class="math inline">\(8\)</span>次方。</h2>
<p>给定的指令为:</p>
<pre><code>MOV AX,1
ADD AX,AX
JMP 2000:0003
</code></pre>
<p>上述指令将寄存器<span class="math inline">\(AX\)</span>的值变更为<span class="math inline">\(1\)</span>然后可以不断的循环<span class="math inline">\(AX=AX+AX\)</span>,相当于加倍,不断循环<span class="math inline">\(9\)</span>次即可计算出<span class="math inline">\(2^8\)</span>.</p>
<hr>
<h2 id="3-pc机上的rom中写有一个日期在内存的某几个内存单元中找到这个日期并试图改变它">3. PC机上的ROM中写有一个日期,在内存<span class="math inline">\(FFF00H-FFFFFH\)</span>的某几个内存单元中,找到这个日期并试图改变它。</h2>
<img src="https://images.cnblogs.com/cnblogs_com/chantmee/1928660/o_210207112956image-20210207190939677.png" alt="寻找过程" style="zoom: 67%">
<p>最终定位找到这个日期存储在<span class="math inline">\(F000:FFF5\)</span>到<span class="math inline">\(F000:FFFC\)</span>这段内存中。</p>
<p>下面对这段内存进行修改:</p>
<pre><code>- E F000:FFF5 "09/27/20"
</code></pre>
<p><img src="https://images.cnblogs.com/cnblogs_com/chantmee/1928660/t_210207113058image-20210207190325705.png" alt="修改过程及结果" loading="lazy"></p>
<p>修改不起任何作用,<span class="math inline">\(F000:FFF5\)</span>到<span class="math inline">\(F000:FFFC\)</span>在<strong>各类ROM地址空间</strong>(<em>8086PC机内存地址空间分配</em>见书P12),而ROM是只读存储器不能修改其内容。</p>
<hr>
<h2 id="4-向内存从开始的单元中填写数据">4. 向内存从<span class="math inline">\(B8100H\)</span>开始的单元中填写数据。</h2>
<pre><code>- E B810:0000 01 01 02 02 03 03 04 04
</code></pre>
<img src="https://images.cnblogs.com/cnblogs_com/chantmee/1928660/o_210207113130image-20210207191320252.png" alt="结果1" style="zoom: 67%">
<p><img src="https://images.cnblogs.com/cnblogs_com/chantmee/1928660/t_210207113150image-20210207191418587.png" alt="结果2" loading="lazy"></p>
<p><img src="https://images.cnblogs.com/cnblogs_com/chantmee/1928660/t_210207113209image-20210207191508237.png" alt="结果3" loading="lazy"></p>
<p><span class="math inline">\(A0000\)</span>到<span class="math inline">\(BFFFF\)</span>是显存地址的范围。修改这个范围内存的内容就可以修改显示器中显示的内容。</p><br><br>
来源:https://www.cnblogs.com/chantmee/p/14386408.html
頁: [1]
查看完整版本: 【汇编语言】《汇编语言》王爽-实验一