x86-16 - 8086中物理地址是如何产生的?

标签 x86-16 memory-address microprocessors

在 8086 架构中,内存空间大小为 1 MiB,并划分为每个最大 64 KiB 的逻辑段。

即它有 20 地址线因此使用以下方法:

That the data segment register is shifted left 4 bits then added to the offset register



我的问题是:尽管所有寄存器都只有 16 位,但我们如何进行移位操作

最佳答案

地址转换由一个特殊单元在内部完成,而不使用用户代码可用的寄存器来存储中间结果——它只获取 16 位值并在内部进行转换——它不会在用户代码可以观察到的任何地方反射(reflect)出来。

关于x86-16 - 8086中物理地址是如何产生的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4203921/

相关文章:

emulation - 指令集模拟器指南

linux - 我可以从 x64 Linux 为 x86 Windows 编写程序集吗?

string - 字符串中 2 个字符之间的汇编切换

arrays - 在 AX 中输入数字时 AH 中的数字错误

c - 如何使用 Pennsim 和 LC-3 编程语言开始基本编程任务?

c++ - 检查写入寄存器的值是否正确

assembly - assembly 中的二维数组

c - 打印某个变量的整个地址 block

c 字符数组和指针

c - 带 C 代码的 4 位 LCD