本文介绍了英特尔8086组件中CS和IP寄存器的用途是什么?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

因此,正如问题所指出的,英特尔8086中CS和IP寄存器的用途是什么

So, as the question states, what is the purpose of CS and IP registers in intel's 8086

我找到了这个解释:

这是针对IP的:

我不太了解这的基本含义,因此,如果有人可以提供更生动"的解释,那将是很好的:)

I don't really understand what this basically means, so if someone could provide a more "vivid" explanation, that would be great :)

推荐答案

由于指令指针(IP)为16位,这意味着您只能有64k条指令(2 ^ 16),即使在80年代也没有多少. .因此,为了扩展地址空间,您需要使用第二个寄存器来寻址64k块.您可以将cs:ip视为一个32位寄存器,然后可以寻址2 ^ 32字节...即4G,这是在使用32位地址的处理器上获得的. 8086使用的是20位地址,因此您可以访问1M的内存.

Since the Instruction Pointer (IP) is 16 bit it means you can only have 64k instructions (2^16), which wasn't much even in the 80s. So to expand the address space you have a second register which addresses 64k blocks. You could consider cs:ip together as one 32 bit register which is then capable of addressing 2^32 bytes...ie 4G which is what you get on a processor which uses 32 bit addresses. The 8086 was using 20 bits of addresses, so you could access 1M of memory.

这篇关于英特尔8086组件中CS和IP寄存器的用途是什么?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-25 08:24