0基础入门学习汇编语言笔记

本文系转载他人 原文出处

一、基础知识

1.1 机器语言

•机器语言是机器指令的集合。电子计算机的机器指令是一系列二进制数字。计算机将之转换为一系列高低电平脉冲信号来驱动硬件工作的。

1.3 汇编语言的组成

•1、汇编指令(机器码的助记符,有对应的机器码);
•2、伪指令(由编译器执行)和其他符号(由编译器识别)。

1.4 存储器

•CPU工作需要指令和数据,指令和数据存储在存储器中。

1.5 指令和数据

•在内存或者磁盘中存储的都是为二进制信息,指令和数据由我们设定(走的总线)。

1.6 存储单元

•存储器被划分为若干个存储单元,每个存储单元从0开始顺序编号。
•B、KB、MB、GB、TB等单位。

1.7 CPU对存储器的读写

•CPU要对数据进行读写,必须和外部器件进行以下三类信息的交互:
•1、存储单元的地址(地址信息);
•2、器件的选择、读或写命令(控制信息);
•3、读或写的数据(数据信息)

•总线是连接CPU和其他芯片的导线,逻辑上分为地址总线、数据总线、控制总线
在这里插入图片描述
•CPU从内存单元中读写数据的过程:
•1、CPU通过地址线将地址信息发出;
•2、CPU通过控制线发出内存读命令,选中存储器芯片,并通知它将要从中读或写数据;
•3、存储器将相应的地址单元中的数据通过数据线送入CPU或CPU通过数据线将数据送入相应的内存单元。

1.8 地址总线

CPU是通过地址总线指定存储单元,地址总线传送的能力决定了CPU对存储单元的寻址能力。(一般32位CPU,寻址能力为2^32=4G)

1.9 数据总线

CPU通过数据总线来与内存等器件进行数据传送,数据总线的宽度决定了CPU和外界的数据传送速度

1.10 控制总线

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

小结

1、汇编指令时机器指令的助记符,与机器指令一一对应。
2、每一种CPU都有自己的汇编指令集。
3、CPU可以直接使用的信息在存储器中存放。
4、在存储器中指令和数据都是二进制信息。
5、存储单元从0开始顺序编号。
6、一个存储单元可以存储8个bit。
7、B、KB、MB、GB等单位之间的转换。
8、CPU管脚和总线相连。总线的宽度表示CPU不同方面的性能:

•地址总线的宽度决定了CPU的寻址能力;
•数据总线的宽度决定了CPU与其他器件进行一次数据传送的量;
•控制总线宽度决定了CPU对系统中其他器件的控制。

检测点 1.1

在这里插入图片描述

1.11 内存地址空间(概述)

•CPU可寻的内存单元构成这个CPU的内存地址空间。例如一个CPU的地址总线宽度为10,那么可以寻址的1024个内存单元构成了这个CPU的内存空间。

1.12 主板

•主板主板,主要的电路板 😆

1.13 接口卡

•CPU通过接口卡间接控制外部设备。

1.14 各类存储器

•随机存储器RAM(主板上的RAM、拓展插槽上的RAM和接口卡上的RAM)和只读存储器器ROM(装有BIOS的ROM)。
在这里插入图片描述
•不同的计算机系统的内存地址空间分配情况是不同的。

二、寄存器(CPU的工作原理)

引言

•CPU由运算器、控制器、寄存器 等器件组成,靠内部总线相连。
•内部总线实现CPU内部各器件之间的联系;外部总线实现CPU和主板上其他器件的联系。
• 在CPU中:
•运算器进行信息处理;
•寄存器进行信息存储;
•控制器控制各种器件进行工作;
•内部总线连接各种器件在它们之间进行数据的传送。

2.1 通用寄存器

8086有14个寄存器:
•AX、BX、CX、DX、SI、DI、SP、BP、IP、CS、SS、CS、ES、PSW。
•AX、BX、CX、DX通常用来存放一般性数据,被称为通用寄存器。
•16位寄存器所能存储的数据最大值为216-1 。
•为保证兼容性,8086 CPU的通用寄存器可以分为两个独立的8位寄存器使用。例: AX可分为AH和AL。

2.2 字在寄存器中的存储

•8086 CPU所有的寄存器是16位,可以存放2个字节(一个字)。
•一字节由8 bit 组成,可以存在8位寄存器中。
•字(word)是两字节,16位。

在这里插入图片描述

2.3 几条汇编指令

•汇编指令对大小写不敏感

汇编指令举例
在这里插入图片描述

检测点 2.1

在这里插入图片描述

2.4 物理地址

•所有的内存单元构成一个一维的线性存储空间。
•CPU访问内存单元时要给出内存单元的唯一地址就是物理地址。

2.5 16位结构的CPU

•1、运算器一次最多可以处理16位数据。
•2、 寄存器的最大宽度为16位。
•3、寄存器和运算器之间的通路是16位。

2.6 8086 CPU给出物理地址的方法

•8086有20位的地址总线,可以传送20位地址,寻址能力为1M;但8086内部为16位结构,只能传送16位的地址。
•8086CPU采用一种在内部用两个16位地址合成的方法来形成一个20位的物理地址。

在这里插入图片描述
•8086CPU读写内存的步骤:
•1、CPU中的相关部件提供段地址和偏移地址这两个16位的地址;
•2、段地址和偏移地址通过内部总线送入到一个称为地址加法器的部件;
•3、地址加法器将两个16位地址合并成一个20位的地址;
•4、地址加法器通过内部总线将20位物理地址送入输入输出地址;
•5、输入输出控制电路将20位物理地址送上地址总线;
•6、20位物理地址被地址总线传送到存储器。
•地址加法器工作原理:物理地址=段地址*16+偏移地址

在这里插入图片描述
• 段地址*16就是数据左移4位(二进制)
•一个数据的二进制形式左移N位,相当于该数据乘以2的N次方。一个数据X进制形式左移N位,相当乘以NX。

2.7 段地址*16+偏移地址=物理地址

•CPU可以通过不同的段地址和偏移地址形成一个相同的物理地址。
在这里插入图片描述

2.8 段的概念

•人为定义的,将若干地址连续的内存单元看作一个段。用段地址*16定位段的起始地址(基址),用偏移地址定位段中的内存单元
在这里插入图片描述
•一个段的起始地址是16的倍数。偏移地址为16位,寻址能力为64K,所以段的最大长度也是64K。

检测点 2.2

在这里插入图片描述

2.9 段寄存器

•8086 CPU有4个段寄存器:CS(代码段)、DS(数据段)、SS(堆栈段)、ES(附加段),这4个段提供给8086CPU内存单元的段地址。

2.10 CS和IP

CS(代码段寄存器)IP(指令指针寄存器) 是8086CPU中最关键的寄存器,它们指示了CPU当前要读取指令的地址。在任意时刻CPU将CS:IP指向的内容当作指令执行。

•8086CPU工作过程的简要概述:

8086PC机刚开始启动时,CPU从内存FFFF0h单元中读取指令执行,FFFF0h单元中的指令时8086PC机开机后执行的第一条指令。

•2、 IP=IP+所读取指令的长度,从而正确的指向下一条指令;
•3、执行指令。转到步骤1,周而复始。

2.11 修改CS、IP的指令

mov指令(传送指令) 可以改变8086CPU大部分寄存器的值,但不能用于设置CS、IP的值。
jmp指令(转移指令) 可以用来同时修改CS和IP的值,格式为

jmp 段地址:偏移地址;同时修改CS和IP
jmp 某一合法寄存器;则是仅修改IP

2.12 代码段

•对于8086PC机,在编程时可以将长度为N(N小于等于64KB)的一组代码存在一组地址连续、起始地址为16的倍数的内存单元中,这段内存是用来存放代码的,从而定义了一个代码段。
•利用CS:IP来指向内存单元从而让CPU执行其中的内容。

检测点 2.3

在这里插入图片描述

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值