• <汇编语言(第2版)>2011032401


    典型的CPU是由运算器、寄存器、控制器等组成

    不同的CPU,寄存器的个数和结构都不相同。

    8086CPU有14个寄存器,都是16位
    AX\BX\CX\DX
    SI\DI
    SP\BP\IP
    CS\SS\DS\ES
    PSW

    通用寄存器
    AX、BX、CX、DX

    为了兼容8086以前的,寄存器又可分成两个8位寄存器,如AH/AL

    汇编指令:
    Mov 目的地址,源数据
    Add 目的地址,加数

    物理地址:
    所有的内存单元构成的存储空间是一个一维的线性空间,每一个内存单元在这个空间中都有唯一的地址。

    16位结构的CPU
    有如下结构特征:
    运算器一次最多可以处理16位的数据
    寄存器的最大宽度为16位
    寄存器和运算器之间的通路是16位

    8086就是16位,之前的8080-8085是8位。

    8086CPU有20为地址总线,有1MB寻址能力,但8086是16位的cpu,只能处理64KB的地址。
    所以采用一种在内存用两个16位地址合成的方式来形成20位的物理地址
    所以:物理地址=段地址*16+偏移地址(实质:是基础地址+偏移地址=物理地址的具体实现)

    段的概念,内存并没有分段,段的划分来源CPU,在8086上,其寻址能力是64KB。

    段寄存器
    CS、DS、SS、ES

    CS和IP是8086CPU中最关键的2个寄存器,指示了CPU当前要读取指令的地址。
    CS:代码段寄存器
    IP:指令指针寄存器
    在8086中,任何时刻,CPU将CS:IP指向的内容为当前指令执行
    改变CS,IP内容的指令为转移指令
    当前学习:
    jmp 段地址:偏移地址        修改CS,IP
    jmp 某合法寄存器            修改IP

    调试工具Debug工具
    是Dos、Windows提供下的实模式(8086 方式)程序的调试工具

    R命令查看、改变CPU寄存器内容
    D命令查看内存中的内容
    E命令改写内存中的内容
    U命令将内存中机器指令转为汇编指令
    T命令执行一条机器指令
    A命令以汇编指令的格式在内存中写入一条机器指令
  • 相关阅读:
    iOS之UITableView的上拉刷新
    iOS xml文件的解析方式 XMLDictionary,GDataXMLNode,NSXMLParser
    iOS学习基本常识
    iOS常用宏定义
    iOS查错机制
    轻量级sqlite是增删改查
    iOS开发UI篇—ios应用数据存储方式(归档) :转发
    iOS面向对象的建模:MVC(OC基础)
    iOS下bound,center和frame
    CSS----学习2
  • 原文地址:https://www.cnblogs.com/GoGoagg/p/1993591.html
Copyright © 2020-2023  润新知