资源下载
王爽《汇编语言(第三版)》PDF
链接:https://pan.baidu.com/s/1T_FylLo29CSPbpkBSvw5rg
提取码:i2bo
MASM下载,里面有DOSBox
链接:https://pan.baidu.com/s/1tZnTi5CJHd71JyQCU3Qufw
提取码:jhos
习题答案:
链接:https://pan.baidu.com/s/1zBJPagf1b_eCQk-AhhhRNA
提取码:8xr1
汇编语言前言
汇编语言是机器指令助记符的集合,直接控制硬件系统,每种微处理器的汇编语言都不一样。 学习汇编两个根本目的:获得底层编程体验,深刻理解机器运行程序的机理。
采用8086CPU为中央处理器的PC来学习,现在只要是和Intel兼容系列,都可以采用8086CPU的方式工作。
循序渐进地学习。1.知识点 2.检测点 3.问题和分析 4.实验 本书重心是通过学习关键指令来深入理解机器工作的基本原理,培养底层编程意识。讲解每一条指令的功能,是指令手册的事情。
工具准备:如果采用64位的,与32位的不兼容,需要使用DOSBox来模拟。
汇编语言的产生
最开始的机器指令,难于辨别和记忆,就想到用符号集来表示对应的。也就是汇编指令。
汇编语言包括:汇编指令(机器码的助记符,核心),伪指令(没有对应的机器码,由编译器执行),其他符号(+、-、*、/由编译器识别)
汇编指令–编译器–机器码–计算机
对内存的读写
CPU执行需要的指令和数据,都是存放在磁盘中的二进制信息,此时没有什么区别,然后需要把他们读到内存中,CPU只能从内存中读取数据。
通过后面的学习可以知道,CS、IP所指的信息就是指令。 CPU对数据的读写,就要和外部器件(芯片)进行交互,必须提供以下三类信息:
1.存储单元的地址(地址信息)
2.器件的选择,读或写的命令(控制信息)
3.读或写的数据(数据信息)
通过总线传送,逻辑上分三类:地址总线、控制总线、数据总线
地址总线
一个CPU有N根地址线,就是说它的地址总线宽度为N,可以寻找2的N次方个内存。
数据总线
CPU与其他部件传送数据的通道,数据总线的宽度决定了CPU与外界数据传送的速度。 8088CPU数据总线宽度为8,一次可以传送一个字节。8086CPU的为16,一次可以传送一个字。
控制总线
控制总线的宽度决定了CPU对外部器件的控制能力
单位换算: 1KB=1024B 1MB=1024KB 1GB=1024MB 1TB=1024GB
1B就是一字节,2B就是一个字
扩展知识
主板主板上有核心器件和一些主要器件,通过总线相连。器件有CPU、存储器、外围芯片组、扩展插槽等。扩展插槽有RAM内存条和各类接口卡。
接口卡:在扩展插槽上,通过总线与CPU相连。CPU可以直接控制这些接口卡,从而实现CPU对外设的间接控制。
各类存储器芯片:
1.随机存储器(ROM):存放CPU使用的绝大部分程序和数据(关机后内容丢失)
2.装有BIOS的ROM。BIOS是由主板和各类接口卡厂商提供的软件系统,可以进行最基本的输入输出功能,相应的ROM就装有BIOS
3.接口卡上的RAM 某些接口卡需要对大批量的输入输出数据进行暂时缓存,就在其上装有RAM。比如显卡上的RAM,一般称为显存
内存地址空间:就是CPU能够寻址的内存大小。
上面的那些存储器,在物理上是独立的器件,但是都和CPU的总线相连,CPU对它们的读写都是通过控制线发出的命令。换句话说,CPU在操控它们时,都是把它们当做内存来对待,把它们总的看作一个由若干存储单元的逻辑存储器,这就是内存地址空间。
每个物理存储器对应逻辑存储器中的一个地址段,即一段地址空间,在这个地址空间中读写数据,实际上就是在对应物理存储器中读写。
向地址C0000~FFFFF的内存单元中写入数据的操作是无效的,因为只读存储器中的内容不允许被改变。