相关疑难解决方法(0)

为什么即使可以设置其他代码,也不能mov设置代码段寄存器CS?

我需要知道是否有直接使用mov指令加载代码段寄存器的限制。

从实模式切换到保护模式时,这让我感到震惊。我发现为了在代码段中放入正确的值,“跳转”指令用于设置正确的段。

那么,由于任何这样的限制,跳转指令的这种用法吗?为什么我们不能直接将值加载到代码段中?

x86 assembly memory-segmentation

3
推荐指数
1
解决办法
776
查看次数

8086中通用寄存器之间的差异

在8086中,此结构是正确的:

mov bh,[bx]
Run Code Online (Sandbox Code Playgroud)

但这是不正确的:

mov bh,[cx]
Run Code Online (Sandbox Code Playgroud)

我不知道为什么 我认为通用寄存器(AX,BX,CX,DX,SP,BP,SI和DI)是可以用于任何目的的寄存器,并且BX用于基地址或CX用于计数器的声明只是一个约定,它们完全没有区别。但是看来我错了。你能解释原因吗?这些寄存器之间的确切区别是什么?(例如,为什么不能将基址保存在cx寄存器中?)

assembly x86-16

1
推荐指数
1
解决办法
444
查看次数

标签 统计

assembly ×2

memory-segmentation ×1

x86 ×1

x86-16 ×1