汇编语言基础知识学习笔记(一)

汇编语言发展至今,由下列三类指令组成。

1.     汇编指令:机器码的助记符,有对应的机器码。

2.     伪指令:没有对应的机器码,由编译器执行,计算机并不执行。

3.     其他符号:如:+、-、*、/等,由编译器识别,没有对应的机器码。

汇编语言的核心是汇编指令,它决定了汇编语言的特性。

一.     CPU对存储器的读写

CPU要想进行数据的读写,必须和芯片进行3类的信息交互:

1.     存储单元的地址(地址信息)

2.     芯片的选择,读或写的命令(控制信息)

3.     读或写的数据(数据信息)

连接CPU和其他芯片的导线称为总线。根据传送信息的不同,总线又可以分为地址总线,数据总线和控制总线。

例:CPU从3号单元读取数据的过程如下:

(1)    CPU通过地址线将地址信息3发出

(2)    CPU通过控制线发出内存读命令,选中存储器芯片,并通知它,将要从中读取数据。

(3)    存储器将3号单元中的数据08通过数据线传入CPU。

向3号单元写入数据26:

(1)CPU通过地址线将地址信息3发出

(2)CPU通过控制线发出内存读命令,选中存储器芯片,并通知它,将向其中写数据。

(3)CPU通过数据线将数据26送入内存的3号单元。

完成上面操作的机器码:1010000000000011 0000000

对应的汇编指令: MOVAX ,[3]

含义:传送3号单元的数据到AX寄存器。

总线的类别:

1.     地址总线:

一个CPU有N根地址线,则可以说这个CPU的地址总线的宽度为N。这样CPU最多可以寻找2的N次方个内存单元。

2.     数据总线:

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

8086有16根数据线,可一次传送16位数据,即8个字节。而8088只有8根数据线,一次只能传8位数据。所以其向内存中写入16位数据时需两次传送。

3.     控制总线:

CPU对外部器件的控制是通过控制总线完成的。

总结:

1.     一个存储单元可以存储8位二进制数据。

2.     地址总线的宽度决定了CPU的寻址能力。

数据总线的宽度决定了CPU与其他器件进行数据传送时的一次数据传送量。

控制总线决定了CPU对系统中其他器件的控制能力。

二.     内存地址空间

可以这么理解:CPU在操纵存储器的时候,是把它们当作内存来看待,把它们总的看作若干个存储单元组成的逻辑存储器,这个逻辑存储器就是我们所说的内存地址空间。

16位机的内存地址空间地址段分配如下:

地址0~7FFFH的32KB空间为主随机存储器的地址空间。

地址8000H~9FFFH的8KB空间为显存地址空间。

地址A000H~FFFFH的24KB空间为各个ROM的地址空间。

这样,CPU向各个不同地址段的单元写入数据就会写入到不同的地址空间中。

时间: 2024-08-07 00:12:49

汇编语言基础知识学习笔记(一)的相关文章

汇编语言基础知识学习笔记(二)

一.寄存器(CPU工作原理) CPU由运算器.控制器.寄存器等器件构成.在CPU中,运算器进行信息处理:寄存器进行信息存储:控制器控制各种器件进行工作:内部总线连接各种器件,在它们之间进行数据传送. 不同的CPU寄存器的个数.结构是不一样的. 8086CPU有14个寄存器:AX.BX.CX.DX.SI.DI.SP.BP.IP.CS.SS.DS.ES.PSW. 8086CPU的AX.BX.CX.DX四个寄存器可分为两个8位寄存器来使用: AX:AH和AL: BX:BH和BL: CX:CH和CL:

汇编语言基础知识学习笔记(三)

1. DS寄存器 通常用来访问存放数据的段地址. [示例]读取10000H单元内容 Mov bx,1000H Mov ds,bx Mov al,[0] 将1000:0中的数据读到al中. Mov 指令的两种传送: (1). 将数据直接送入另一个寄存器 (2). 将一个寄存器的数据送入另一个寄存器内. 10000H用段地址和偏移地址表示位1000:0. 我们先将段地址送入寄存器DS,然后使用Mov al,[0] 完成传送,[0]说明这个内存单元的偏移地址为0. 首先要知道,8086CPU不支持直接

ARM基础知识学习笔记

/*****************数电知识*******************/ PN结(Positive-Negative) 三极管:BJT(双极结型三极管Bipolar Junction Transistor)               FET(场效应管Field Effect Transistor)          (单极结型) 1.MOSFET (金属氧化物半导体Metal Oxide Semiconductor FET)               2.JFET(结型Junct

C++基础知识学习笔记

基本语法 C面向过程思想:程序=(数据结构)+(算法) 数据结构与算法分离,以算法(函数)为主. C++面向对象思想:程序=(数据结构+算法) 数据结构(属性)与算法(操作)绑成一个类,定义一个个对象对象=(数据结构+算法)  ,程序=(对象+对象+对象+--) 面向对象程序设计的程序员有两类:1.面向对象应用程序设计2.类库的设计 头文件:类的声明            ---类的外部接口       (成员函数在类声明中实现时,一般很简短,默认为内联函数)源文件:类的成员函数定义     -

〖前端开发〗HTML/CSS基础知识学习笔记

经过一天的学习,把慕课网的HTML/CSS基础知识学完了,笔记整理: 1. 文件结构: HTML文件的固定结构: <html> <head>...</head> <body>...</body> </html> html是根标签 head定义文档头部,包含: title, script, style, link, meta body是网页主要内容,包含:h1,h2-h6, p, a, img 2. 认识head标签: <head

linux基础知识学习笔记

1.Linux介绍 Linux版本: 内核版本:最基本的核心程序,只要用于企业和个人在此基础自行开发所需功能. 发行版本:在内核基础上增加了一些常用软件,满足企业和用户直接使用的基本需求. Linux应用领域: 个人桌面:图形桌面开发 服务器领域:整个系统就像dos命令行一样,全部命令操作. 嵌入式领域(智能硬件):在Linux基础上开发自己所需的功能然后将程序烧到硬盘中去执行. 后两个实用最广泛: 2.Linux目录和文件操作 Linux目录: Linux的四种文件类型: 1.可分享的 可以分

Go语言基础知识学习笔记1

安装教程我就不写了,推荐大家下载msc的安装包,因为他会自动帮你配置一些环境变量,但是GOPATH这个工作目录的环境变量需要自己配置 右键我的电脑->属性->高级系统设置->环境变量->新建系统变量 变量名称大写 GOPATH 路径就你的工作目录,如我的是D:/go 如果有多个工作目录就使用";"分号分割 根据约定,GOPATH下需要建立3个目录: bin (存放编译后生成的可执行文件)pkg (存放编译后生成的包文件)src (存放项目源码) 查看环境变量与工

java基础知识学习笔记(四)

类与对象 java是一种面向对象的开发语言.java程序是由类与对象组成的.类与对象之间有什么关系呢? 类是构造对象的蓝图或模板.由类构造对象的过程,称之为创建类的实例.可知对象就是类的一种实例或具体实现.为什么为选用java语言做开发,这种面向对象的语言对开发有什么好处? 首先,从设计上,对一个问题,你可以暂且不管它的具体实现是什么,先把它抽象成一个对象,问题中涉及到的数据,变成对象中的实例域,求解问题的方法,变成对象中的方法,这样做可以分清要对哪些数据进行操作,逻辑上比较清晰. 其次,当问题

【Cactus仙人掌图】仙人掌基础知识学习笔记

首先膜一下vfk领先全球的动态仙人掌栽培技术- 然后谢谢Time-Machine学长在暑假集训时候讲了仙人掌DP. 然后感觉听得并不是很懂-所以再来对着论文学一遍顺便写一写例题代码 这一篇主要先学仙人掌的基础(定义和性质什么的) ------------线 割 分 是 我 >w<---------------– 什么是仙人掌? 仙人掌是不含自环的,一条边最多属于一个简单环的无向连通图. 从定义不难看出树其实也是仙人掌的一种,也就是说这几个概念的关系大概是: 树是一种特殊的仙人掌,仙人掌是一类特