汇编一

(一)汇编语言特点

机器语言

学习汇编语言,首先要了解机器语言。

1.直接访问各种硬件设备,例如存储器、CPU等,最大限度发挥硬件的功能。

2.不受编译器限制。

3.代码简短,占用内存少,执行速度快。

4.不易编写、调试、维护。

5.每种CPU对应汇编指令集

(二)汇编用途

1.编写驱动、操作系统。

2.可与高级语言混合使用。

(三)汇编种类

1.8086汇编

2.Win32汇编

3.Win64汇编

4.ARM汇编(嵌入式、Mac、iOS)

。。。。

iOS系统

汇编一_第1张图片

(四)总线

地址总线、数据总线、控制总线。

汇编一_第2张图片

1.地址总线

CPU告诉内存,我要定位你的哪一个地址:寻址。

宽度决定了CPU的寻址能力。

内存中一字节为单位。

1字节=1Byte=8bit位

汇编一_第3张图片

例如:10根总线的寻址能力是2^10 = 1024 = 1B

            20根总线的寻址能力是2^20 = 2^10 * 2^10 = 1024*1024 = 1M 对应的内存地址有1Mb

寻址能力为1KB == 1024 = 2^10   10跟

寻址能力为8KB = 8*2^10 = 2^(10+3)

2.控制总线

CPU告诉内存,我要读还是写

3.数据总线

内存把计算结果传给CPU

宽度决定了CPU单次数据的传送量,传送速度:吞吐量

16根的数据总线,单次传递最大的是2个字节

64位CPU单次可以传递最大8个字节

(五)内存

汇编一_第4张图片
8086的CPU

此处:

111:    表达的个数是2^3  表示的最大的值是2^3-1

FFFFF 个数16^5   最大值16^5-1

汇编一_第5张图片

(六)寄存器

1.对于程序员,CPU最关键的部件就是寄存器,通过改变寄存器去控制CPU


汇编一_第6张图片
寻址到红色,控制告诉读,寄存器中加1,寻址到蓝色,控制告诉写,传递数据4到蓝色


寄存器的空间一般和数据总线的大小一致。

字节与字

字节:1byte 1字节有8bit

字:2byte 2字节 16bit  所以16位的CPU可以直接存一个字

(七)8086的寻址方式

1.CPU访问内存单元时,要给出内存单元的地址,所有的内存单元都有唯一的地址,叫做物理地址

2.8086有20位地址总线,可以传送20位的地址,1M(2^10)的寻址能力

:0x56FFF

3.但它又是16位结构的CPU,它内部能够一次性处理、传输、暂时存储的地址为16位。如果将地址从内部简单地发出,那么它只能送出16位的地址,表现出来的寻址能力只有64KB(2^16)

:0xFFFF

8086采用一种在内部用2个16位地址合成的方法来生成1个20位的物理地址


汇编一_第7张图片

0xFFFA5 = 0xFFFA0 + 0x0005 = 0xFFFA * 0x10 + 0x0005

物理地址 = 段地址 * 0x10 +偏移地址

0xFFFA:0x0005 --> 0xFFF0:0x00A5 -->0xFF00:0x0FA5


以上。

你可能感兴趣的:(汇编一)