从入门到精通汇编语言 第一章(计算机基础知识)

参考教程:通俗易懂的汇编语言(王爽老师的书)_哔哩哔哩_bilibili

一、学习汇编语言的理由

1、汇编语言在实际应用中的意义

(1)效率方面:

①运行效率:可用于开发软件的核心部件,实现快速执行和实时响应。

②开发效率:汇编语言可直接访问计算机内存的指定地址,在某些情况下开发效率比高级语言还要高。

(2)应用场景:

①用于编写操作系统的内核。

②在诸多嵌入式系统中也有使用汇编语言的场景,如FreeRTOS的PendSV中断服务函数。

2、汇编语言在学习过程中的意义

(1)便于加深对计算机原理和操作系统等课程的理解。

(2)通过学习和使用汇编语言,能够感知、体会和理解机器的逻辑功能。

①向上为理解各种软件系统的原理,打下技术理论基础。

②向下为掌握硬件系统的原理,打下实践应用基础。

(3)学会底层的程序调试和错误分析方法。

二、机器语言与汇编语言

1、机器语言与机器指令

(1)机器语言是机器指令的集合,机器指令是一台机器可以正确执行的命令

(2)机器指令由一串二进制数表示,如“01010000”,在硬件层面它可以由一串电平脉冲表示,但很显然,用一串数字表示指令非常抽象,而且也难以记忆,程序出现bug也难以排查。

2、汇编语言与汇编指令

(1)汇编语言是汇编指令的集合,汇编指令和机器指令的差别在于指令的表示方法上

①汇编指令是机器指令便于记忆的书写格式。

②汇编指令是机器指令的助记符。

(2)举例:

        机器指令“1000100111011000”执行的操作为将寄存器BX的内容送到AX中,这条机器指令等价于汇编指令“MOV AX BX”,“MOV”是英文单词“move”的简写,由此可见汇编指令相较于机器指令,语意更加浅显易懂。

(3)用汇编语言编写程序的工作过程:程序员用汇编语言写出源程序,再用汇编编译器将其编译为机器码,由计算机最终执行

三、计算机的组成

1、计算机的组件

(1)将一般的台式计算机主机拆开,可看到里面有一块主板,主板中包含CPU、总线、内存条、扩展槽等组件。

(2)CPU是计算机的核心部件(下左图),它控制整个计算机的运作并进行运算,要想让一个CPU工作,就必须向它提供指令和数据

(3)指令和数据在存储器(内存)中存放,离开了内存,性能再好的CPU也无法工作。

2、存储器与存储单元

(1)存储器被划分为若干个存储单元,每个存储单元从0开始顺序编号,例如一个存储器有128个存储单元,编号从0~127,如下图所示。

(2)电子计算机的最小信息单位是bit,也就是一个二进制位,8个bit组成一个Byte,也就是通常讲的一个字节。微型机存储器的一个存储单元可以存储一个Byte,即8个二进制位,如果一个存储器有128个存储单元,那么它可以存储128个Byte,我们可以说,它的容量是128个字节。

3、总线

(1)在计算机中有专门连接CPU和其它芯片的导线,通常称它们为总线,物理上它们是一根根导线的集合,逻辑上它们可划分为地址总线、数据总线和控制总线。

CPU是通过地址总线来指定存储单元的地址总线宽度决定了可寻址的存储单元大小,N根地址总线(也可说总线宽度为N),对应寻址空间2N

CPU与内存或其它器件之间的数据传送是通过数据总线来进行的数据总线的宽度决定了CPU和外界的数据传送速度

CPU通过控制总线对外部器件进行控制控制总线是一些不同控制线的集合,控制总线宽度决定了CPU对外部器件的控制能力(有多少根总线,CPU对外部器件就有多少种控制方式)。

(2)x86CPU性能一览:(后续如无特殊说明,汇编语言的学习都以8086为例进行)

四、内存的读写与地址空间

1、CPU对存储器的读写

(1)CPU要想进行数据的读写,必须和外部器件进行三类信息的交互:

①存储器的地址(地址信息)。

②器件的选择,读或写的命令(控制信息)。

③读或写的数据(数据信息)。

(2)举例:CPU从内存中3号单元处读取数据(汇编指令:MOV AL, [3])。

①首先CPU通过地址线寻址,找到内存中的3号单元。

②然后CPU通过控制线发出读数据的命令。

③最后CPU通过数据总线读取内存中3号单元中的数据。

2、内存地址空间

(1)CPU的地址总线宽度为N,那么寻址空间就为2N。8086CPU的地址总线宽度为20,那么其可以寻址1MB个内存单元,其内存地址空间为1MB。

(2)从CPU的角度看地址空间分配,可以将各类存储器看作成一个逻辑存储器,对它们的存储单元进行统一编址

①所有的物理存储器被看作一个由若干存储单元组成的逻辑存储器。

②每个物理存储器在这个逻辑存储器中占有一个地址段,即一段地址空间。

③CPU在某段地址空间中读写数据,实际上就是在相对应的物理存储器中读写数据。

(3)以8086PC机为例,其内存地址空间的分配方案如下图所示。

五、汇编语言实践环境搭建(实践环节须知)

        下载8086汇编工作环境,然后在D盘目录下创建文件夹masm,将命令文件拷贝至该目录下,如下图所示。

        运行下图所示的exe文件,安装DOSBox。

        打开DOSBox,输入“mount c d:\masm”并按下回车,然后再输入“C:”并按下回车,完成工作目录挂接(每次重启DOSBox时都要做此操作)。

        至此,汇编语言实践环境搭建完成。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Zevalin爱灰灰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值