zoukankan      html  css  js  c++  java
  • 第二章总结

    先介绍的几个通用寄存器和字在其中的存储进行解释。

    通用寄存器有AX,BX,CX,DX 几种,AX包括AH和AL。BX,CX,DX也同样。

    然后是汇编指令

    介绍了mov ,add两个汇编指令的用法。

    mov 

    将后面的操作数赋给前面的操作数

    mov 寄存器,常数

    mov 寄存器,寄存器

    相当于C语言里的赋值运算。

    add

    前操作数=前操作数+后操作数

    add 寄存器,常数

    add 寄存器,寄存器

    相当于C语言里+=运算。

    jump:

    修改CS:IP的指令(jmp 段地址: 偏移地址)

    例:jmp AX 效果IP=AX

    jmp 2AE3:3 效果CS=2AE3H,IP=0003H

    在8086CPU中给出物理地址的表示

    核心内容是:物理地址=段地址*16+偏移地址

    以下摘自教材P21

    1)CPU中相关部件提供两个16位地址,分别称为段地址和偏移地址

    2)段地址和偏移地址通过内部总线送入一个称为地址加法器的部件

    3)地址加法器将两个16位地址合成一个20 位地址

    4)地址加法器通过内部总线将20位物理地址送入输入输出控制电路

    5)输入输出控制电路将20 位物理地址送上地址总线

    6)20位物理地址被地址总线送到存储器

    所以在内存中有的地址表示方法不唯一。

    例如 0100:0010 ,0101:0000表示的内存地址是相同的。

    然后介绍CS:IP两个段寄存器,CS是代码段寄存器,IP是指令指针段寄存器。可以通过修改CS:IP的值来执行指定位置处的指令。

    在debug下单步调试中可见CS:IP总是指向即将执行的下一条指令。

    (在debug下可以直接通过R命令修改寄存器)

    由于物理地址=段地址*16+偏移地址。我们可以根据需要将一组内存单元定义为一个代码段。

    一个段的长度最大为64KB。(2^16)

  • 相关阅读:
    【HBase】三、HBase和RDBMS的比较
    【HBase】二、HBase实现原理及系统架构
    【HBase】一、分布式数据库HBase简介
    【LeetCode】9、Palindrome Number(回文数)
    【LeetCode】7、Reverse Integer(整数反转)
    【HDFS】四、HDFS的java接口
    【HDFS】三、HDFS命令行接口
    【HDFS】二、HDFS文件读写流程
    【HDFS】一、HDFS简介及基本概念
    【Redis】四、Redis设计原理及相关问题
  • 原文地址:https://www.cnblogs.com/asm085/p/9863129.html
Copyright © 2011-2022 走看看