汇编一

作者: Flonger | 来源:发表于2017-07-11 23:21 被阅读35次

    (一)汇编语言特点

    机器语言

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

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

    2.不受编译器限制。

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

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

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

    (二)汇编用途

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

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

    (三)汇编种类

    1.8086汇编

    2.Win32汇编

    3.Win64汇编

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

    。。。。

    iOS系统

    (四)总线

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

    1.地址总线

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

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

    内存中一字节为单位。

    1字节=1Byte=8bit位

    例如: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个字节

    (五)内存

    8086的CPU

    此处:

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

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

    (六)寄存器

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

    寻址到红色,控制告诉读,寄存器中加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位的物理地址

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

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

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

    以上。

    相关文章

      网友评论

          本文标题:汇编一

          本文链接:https://www.haomeiwen.com/subject/ogfvhxtx.html