和川全济 發表於 2025-2-15 00:12:00

汇编语言笔记_1

<h2 id="1基础知识">1.基础知识</h2>
<p>汇编语言是直接在<strong>硬件</strong>上工作的语言,本章重在了解硬件系统结构</p>
<h3 id="11-机器语言">1.1 机器语言</h3>
<p>CPU(中央处理单元)是一种微处理器,功能是执行机器指令</p>
<blockquote>
<p>每一种微处理器由于硬件设计和内部结构的不同,有自己的机器指令集,也就是机器语言</p>
</blockquote>
<p>由于机器码晦涩难懂和不易查错的特点,产生了汇编语言</p>
<h3 id="12-汇编语言">1.2 汇编语言</h3>
<p>汇编指令是机器指令便于记忆的书写格式</p>
<p><img src="https://gcore.jsdelivr.net/gh/Q7h2q9/photohouse/picgoandgithub20250214232826398.png" alt="image-20250214232826319" loading="lazy"></p>
<p>汇编语言由3类指令组成:</p>
<p>(1)<strong>汇编指令</strong></p>
<p>(2)伪指令:没有对应的机器码,由编译器执行,计算机不执行</p>
<p>(3)其他符号,+-*/等,没有对应的机器码</p>
<h3 id="13-存储器">1.3 存储器</h3>
<p>存储指令和数据的地方,也叫内存</p>
<h3 id="14-cpu对存储器的读写">1.4 CPU对存储器的读写</h3>
<p>CPU对存储器的读写必须和芯片进行三类信息的交互:<strong>地址信息、控制信息、数据信息</strong></p>
<p>计算机中连接CPU和其他芯片的导线称为<strong>总线</strong></p>
<p><img src="https://gcore.jsdelivr.net/gh/Q7h2q9/photohouse/picgoandgithub20250214235631819.png" alt="image-20250214235631766" loading="lazy"></p>
<p>用汇编指令来表示如下:</p>
<p>MOV AX,</p>
<p>含义:将3号单元的内容写入AX</p>
<h3 id="15-三类总线">1.5 三类总线</h3>
<ul>
<li>地址总线</li>
</ul>
<p>一个CPU有N根地址线,则说这个CPU的地址总线宽度为n。这样的CPU最多可以寻找<span class="math inline">\(2^n\)</span>个内存单元</p>
<p><img src="https://gcore.jsdelivr.net/gh/Q7h2q9/photohouse/picgoandgithub20250214235934288.png" alt="image-20250214235934243" loading="lazy"></p>
<ul>
<li>数据总线</li>
</ul>
<p>8根数据总线一次可传送一个8位二进制(即一个字节)。同理16根数据总线一次可传送两个字节</p>
<p><strong>8088CPU的数据总线宽度为8</strong>,<strong>8086CPU的数据总线宽度为16</strong></p>
<ul>
<li>控制总线</li>
</ul>
<p>其宽度决定CPU对外部器件的控制能力</p>
<h3 id="16-各类存储芯片及内存地址空间">1.6 各类存储芯片及内存地址空间</h3>
<ol>
<li>随机存储器(装在主板上的RAM和装在扩展插槽上的RAM。)</li>
<li>ROM</li>
<li>接口卡上的RAM</li>
</ol>
<p><img src="https://gcore.jsdelivr.net/gh/Q7h2q9/photohouse/picgoandgithub20250215000541690.png" alt="image-20250215000541628" loading="lazy"></p>
<p><img src="https://gcore.jsdelivr.net/gh/Q7h2q9/photohouse/picgoandgithub20250215000717480.png" alt="image-20250215000717395" loading="lazy"></p>
<p>图1.8中,所有物理存储器被视为一个由若干存储单元组成的逻辑存储器,每个物理存储器在这个逻辑存储器中占有<strong>一段地址空间</strong>。CPU在这段地址空间中读写数据,实际上就是在相对应的物理存储器中读写数据</p>
<h3 id="小结">小结:</h3>
<ol>
<li>汇编指令同机器指令一一对应</li>
<li>存储器中指令和数据没有区别,都是二进制信息</li>
<li>存储单元从0开始编号</li>
<li>最终运行程序的是CPU,用汇编语言编程要从CPU的角度考虑问题。</li>
</ol><br><br>
来源:https://www.cnblogs.com/Q7h2q9/p/18716412
頁: [1]
查看完整版本: 汇编语言笔记_1