如何在8086中生成物理地址?

Min*_*uad 4 microprocessors memory-address x86-16

8086体系结构中,内存空间__CODE__大小分为多个逻辑段__CODE__.

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

数据段寄存器向左移位4位然后加到偏移寄存器

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

sha*_*oth 6

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

  • @Mina Fouad:我知道没有明确的引用,但是可以推论得出。可用于代码的寄存器在翻译过程中不会更改,因此显然它们不用作移位的中间存储。 (2认同)