zoukankan      html  css  js  c++  java
  • 汇编语言第二章总结

    1.    CPU:运算器,控制器,寄存器等器件构成,靠内部总线相连

            (外部总线:连接CPU和主板上其他器件)

    2.    不同的CPU,寄存器个数和结构是不相同的。

    e.g.8086CPU 14个寄存器:AX BA CX DX→通用寄存器

                                                SI DI SP BP IP                    

                                                CS SS DS ES→提供段地址

                                                PSW

    3.    8086为例:所有寄存器都是16位的,存放两个字节(=1个字)

                AX BX CX DX可以分为独立的2个8位寄存器来使用

                低8位为AL寄存器,高8位为AH寄存器

    4.注意:AX AL AH运算时的“丢失”(并不是真的舍去)问题

    5.在进行数据传送或运算时,要注意指令的两个操作对象的位数应当是一致的(我觉得是寄存器之间应该位数一致)

    6. 16位结构的CPU

      (1)运算器一次最多可以处理16位的数据

      (2)寄存器的最大宽度为16位

      (3)寄存器和运算器之间的通路为16位

    7.物理地址=段地址*16+偏移地址

    8.一个X进制的数据左移一位,相当于乘X

    9.内存没有分段,段的划分来自于CPU

      一个段的长度最大为64KB

      CPU可以用不同的段地址和偏移地址形成一个物理地址

    10.物理地址地表示

       段地址:偏移地址 注意:地址连续,起始地址为16的倍数的一组内存单元定义为一个段

    11.CS-代码段寄存器 IP-指令指针寄存器 即CS:IP

       CS IP提供了CPU要执行指令的地址

    12.mov指令不能用于设置CS IP的值

       能够改变CS IP 值的统称为转移指令 e.g .jump

        Jump 2AE3:3 用指令2AE33H处读取地址(同时修改CS IP)

        Jump 某一合法寄存器 jump ax(用寄存器的值修改IP)

    13.CPU只认被CS:IP指向的内存单元中的内容为指令

  • 相关阅读:
    sql 用Group by分组后,取每组的前几条记录
    mac安装 配置 ant
    js日期时间比较函数
    hibernate下载包中配置文件路径
    dbvis MySQL server version for the right syntax to use near 'OPTION SQL_SELECT_LIMIT=DEFAULT' at line 1
    严重: Exception starting filter struts2解决方法!
    【Linux】进程优先级、进程nice值和%nice
    【Algorithm】二分查找
    【php】thinkphp以post方式查询时分页失效的解决方法
    【C语言】练习5-8
  • 原文地址:https://www.cnblogs.com/fengmian/p/9859302.html
Copyright © 2011-2022 走看看