• 汇编语言第二章知识梳理


    • 一个典型的cpu由运算器、控制器、寄存器等器件组成,这些器件靠内部总线相连。
    • 内部总线实现cpu内部各个器件之间的联系。外部总线实现cpu和主板上其他器件的联系。
    • 8086CPU中的14个寄存器:AX,BX,CX,DX,SI,DI,SP,BP,IP,CS,SS,DS,ES,PSW
    • 概括的讲,16位结构描述了一个cpu具有以下几个方面的特征:(1)运算器一次最多可以处理16位的数据。(2)通用寄存器的最大宽度为16位。(3)寄存器和运算器之间的通路是16位的。
    • 8086cpu有20位地址总线,可传送20位地址,寻址能力位1MB。内部为16位结构,它只能传送16位的地址,表现出的寻址能力只有64KB。它采用的是一种在内部用两个16位地址合成的方法来形成一个20位的物理地址。在读写内存时,步骤如下:                                                                                                            (1)cpu中的相关部件提供两个16位的地址,一个称为段地址,另一个称为偏移地址。                                                                                                                    (2)段地址和偏移地址通过内部总线送入一个称为地址加法器的部件。                                                                                                                                            (3)地址加法器将两个16位地址合并成一个20位的地址。(地址加法器合成物理地址的方法:物理地址=段地址*16+偏移地址。“段地址*16”有一个更为常用的说法就是数据左移4位(二进制位)。基础地址+偏移地址=物理地址。)
    • 8086pc工作过程:

           (1)从CS:IP指向的内存单元读取指令,读取的指令进入指令缓冲器。

           (2)IP=IP+所读取指令的长度,从而指向下一条指令。

           (3)执行指令。转到步骤(1)。

           (4)重复这个过程。

            也就是说内存中的一段信息曾被cpu执行过的话,那么它所在的内存单元必然被CS:IP指向过。

    • mov指令可以改变8086cpu大部分寄存器的值,被称为传送指令。但是mov指令不能用于设置CS,IP的值。
    • 修改CS,IP的值:

           (1)同时修改CS,IP的内容:jmp  段地址:偏移地址
     

           (2)仅修改IP的值:jmp 某一合法寄存器  

  • 相关阅读:
    Linux部署web项目
    bash: mysql: command not found(解决方法)
    mysql登录遇到ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
    mysqld:未被识别的服务(解决方法)
    Xshell4连接,Linux系统中文显示乱码解决办法
    F5双机冗余配置
    H3C S10512虚拟化配置
    cisco3900板卡sm-es3g-24-p使用方法
    详解Cisco ACS AAA认证-1(转)
    cisco路由器license的相关命令简单梳理(转)
  • 原文地址:https://www.cnblogs.com/zakon/p/9744596.html
Copyright © 2020-2023  润新知