【汇编学习笔记】绪论

您所在的位置:网站首页 cpu总线宽度通俗易懂 【汇编学习笔记】绪论

【汇编学习笔记】绪论

2023-06-25 11:02| 来源: 网络整理| 查看: 265

目录

1 学习汇编语言的理由

1.1 这门课学什么?

2 由机器语言到汇编语言

2.1 机器语言与机器指令

2.2 汇编语言和汇编指令

 2.3 用汇编语言编写程序的工作过程

3 计算机的组成 

3.1 指令和数据的表示

3.2 计算机中的存储单元

3.3 计算机中的总线

4 内存的读写与地址空间 

4.1 CPU对存储器的读写

4.2 内存地址空间

 5 汇编语言实践环境的搭建

1 学习汇编语言的理由 汇编语言仍在发挥不可替代的作用 效率 运行效率∶开发软件的核心部件,快速执行和实时响应。开发效率∶做合适的事,开发效率无敌底层∶计算机及外围设备的驱动程序 操作系统的内核嵌入式系统:家用电器、仪器仪表、物联网....汇编语言在学习计算机中起到的独特作用——直击计算机系统的核心 便于加深对计算机原理和操作系统等课程的理解。通过学习和使用汇编语言,能够感知、体会和理解机器的逻辑功能 向上为理解各种软件系统的原理,打下技术理论基础向下为掌握硬件系统的原理,打下实践应用基础。学会底层的程序调试和错误分析方法。 1.1 这门课学什么?

汇编语言程序设计 定位:理解硬件结构、掌握指令集、理解程序的运行过程。 内容:8088、8086指令集与汇编语言程序设计。 本课只解决入门:降低入门难度、关注核心思维与方法。 进一步延伸:Inter80x86汇编、Linux汇编、ARM汇编

学习方法:贯穿实践的方法、学会观察机器的内部状态

2 由机器语言到汇编语言 2.1 机器语言与机器指令

机器语言是机器指令的集合。机器指令是一台机器可以正确执行的命令。 机器指令由遗传二进制数表示,例01010000 计算机内 电平脉冲

早期程序员工作状态:将0、1数字编程的程序代码打在纸带或卡片上,1打孔,0不打孔,再将程序通过纸带机或卡片机输入计算机,进行运算。

例:计算s = 768 + 12288 - 1280的程序 机器码∶  101100000000000000000011                 000001010000000000110000                 001011010000000000000101

 如果打错了,找程序错哪儿了很麻烦。

2.2 汇编语言和汇编指令

汇编语言的主体是汇编指令。 汇编指令和机器指令的差别在于指令的表示方法上 汇编指令是机器指令便于记忆的书写格式。 汇编指令是机器指令的助记符

机器指令:1000100111011000 操作:将寄存器BX的内容送到AX中 汇编指令:MOV AX BX 寄存器:CPU中可以存储数据的器件,一个CPU有多个寄存器。

 2.3 用汇编语言编写程序的工作过程

3 计算机的组成 

主板上有:

CPU总线内存(条) :拓展槽(接外部设备)

CPU是计算机的核心部件,它控制整个计算机的运作并进行运算。要想让一个CPU工作,就必须向它提供指令和数据。指令和数据在存储器(内存)中存放。(可放外存,但CPU工作时得从内存读取)离开了内存,性能再好的CPU也无法工作。 3.1 指令和数据的表示 计算机中的数据和指令,存储在内存或磁盘上。数据和指令,都是二进制信息。问题:二进制信息1000100111011000是数据,还是指令?(看CPU怎么决定) 1000100111011000 -> 89D8H (数据)1000100111011000 -> MOV AX,BX (程序)数据如何表示?(写程序如何去做) 1000100110111000B(二进制)89D8H(十六进制)104730O(八进制)35288D(十进制)数据量∶B、KB、MB、GB、TB... 3.2 计算机中的存储单元

存储器被划分为若干个存储单元,每个存储单元从0开始顺序编号;

例如:一个存储器有128个存储单元,编号从0~127 实际:内存空间很“大”,8086有20条数据线,寻址空间2^20,为1MB。 2^20=1048576,FFFFFH=1048575O

3.3 计算机中的总线

在计算机中专门有连接CPU和其他芯片的导线,常称为总线。 物理上:一根根导线的集合; 逻辑上划分为:地址总线、数据总线、控制总线

地址总线:

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

数据总线:

CPU与内存或其它器件之间的数据传送是通过数据总线来进行的。数据总线的宽度决定了CPU和外界的数据传送速度。例:向内存中写入数据89D8H时的数据传送

控制总线:

CPU通过控制总线对外部器件进行控制。控制总线是一些不同控制线的集合控制总线宽度决定了CPU对外部器件的控制能力。

 x86CPU性能一览

CPU

地址总线宽度

寻址能力

数据总线宽度

一次传送数据

读取1KB数据要读__次

8080

16

640KB

8

1B

1024

8088

20

1MB

8

1B

1024

8086

20

1MB

16

2B

512

80286

24

16MB

16

2B

512

80386

32

4GB

32

4B

256

4 内存的读写与地址空间  4.1 CPU对存储器的读写

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

(地址信息):存储单元的地址。(到哪儿去操作数据)(控制信息):器件的选择,读或写命令(寄存器/内存储空间/端口?;读/写?)(数据信息):读或写的数据

演示:

机器码:10100000000000110000000016进制:A00300汇编指令:MOV AL,[3]含义:从3号单元读取数据送入寄存器AL

CPU通过地址线发出3给内存,内存找到3号单位的位置,然后CPU通过控制线发读的命令给内存,最后,内存通过数据线把3号单元的内容发给CPU。

4.2 内存地址空间 什么是内存地址空间 CPU地址总线宽度为N,寻址空间为2B8086CPU的地址总线宽度为20,那么可以寻址1MB个内存单元,其内存地址空间为1MB。从CPU角度看地址空间分配: RAM:主板上的RAM、扩展槽上的RAM(例显卡)ROM:系统BIOS、接口卡上的BIOS

 将各类存储器看做一个逻辑存储器——同一编址

所有的物理存储器被看做一个由若干存储单元组成的逻辑存储器。 每隔物理存储器在这个逻辑存储器中占有一个地址段,即一段地址空间。 CPU在这段地址空间中读写数据,实际上就是再相对应的物理存储器中读写数据。

 以8086PC机为例,内存地址空间的分配方案:

 5 汇编语言实践环境的搭建

实践方案——DOS环境

DOS操作系统——MS DOS方式——DOS虚拟机——DOS模拟器 具体见:6 汇编语言实践环境搭建_哔哩哔哩_bilibili

网课:通俗易懂的汇编语言(王爽老师的书)



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3