📒
Notes
  • 个人笔记
  • Machine Learning
    • Tensorflow
      • Text
        • Keras构建RNN
        • 字词嵌入
        • 字词嵌入示例程序
      • Data processing
        • tf.data数据加载
      • Tensorflow Tricks
    • 循环神经网络概览
    • Pix2Pix
  • Assembly Language
    • DOS中的Debug模式
    • LOOP指令
    • 8086CPU
    • 标志位寄存器
    • 汇编指令
    • 汇编语言源程序格式
  • Linux System
    • Systemctl 服务脚本
    • Linux端口占用
    • Btrfs文件系统
    • C Socket网络编程细节问题
  • Hexo
    • Hexo下的Tag/Categories栏
    • Git备份博客
    • Hexo博客基本部署
  • Kernel
    • C语言中消息队列实现
    • Linux内核的进程调度函数
    • Linux内核模块的编译
    • Linux Kernel概述
  • Linux Software
    • Linux软件安装与配置
  • Docker
    • OVS+Docker网络构建
    • Docker分层垃圾清理
  • C
    • CMakeList语法
Powered by GitBook
On this page
  • 寄存器
  • 8086CPU的地址表示
  • 参考

Was this helpful?

  1. Assembly Language

8086CPU

PreviousLOOP指令Next标志位寄存器

Last updated 4 years ago

Was this helpful?

寄存器

8086CPU中所有的寄存器都是16位的。

数据寄存器:AX BX CX DX 地址寄存器:SI DI SP BP

段寄存器:CS SS DS ES 控制寄存器:IP PSW

CS:IP始终指向下一条指令的位置。

DS用来在访问内存时提供段地址

SS:SP始终指向栈顶元素,以字为存储单位进行入栈和出栈操作。

8086CPU的地址表示

8086的地址总线一共有20位,但是8086实际上为16位CPU。 因此8086给出地址的方式是:使用两个16位地址合成一个20位的物理地址。

物理地址=段地址×16+偏移地址物理地址 = 段地址 × 16 + 偏移地址物理地址=段地址×16+偏移地址

由于这样的表达形式,因而一个物理地址可以有多种逻辑上的表达方式。

参考

Intel 8086 - Wikipedia
《汇编语言(第三版)》 - 王爽 著