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指向的内存单元中的内容为指令

  • 相关阅读:
    玩转Visual Studio Editor篇
    .Net2.0的集合操作 What i know?
    Log文件压缩
    [转]比较高效地实现从两个不同数组中提取相同部分组成新的数组(只支持Int类型) [C#]
    Stream 和 Byte[]互操作
    net 2.0 中如何在线程引发的事件中控制forms controls
    C# 操作Word文档(转)
    利用Lucene.net搜索引擎进行多条件搜索的做法
    c# 添加图片水印,可以指定水印位置+生成缩略图
    SDN第一次作业
  • 原文地址:https://www.cnblogs.com/fengmian/p/9859302.html
Copyright © 2011-2022 走看看