当我们尝试设置当前正在执行的代码的寄存器时会发生什么?

时间:2013-09-10 10:36:41

标签: assembly real-mode

CodeProject有an article

  

CS始终保留当前正在执行的代码段。您   不能使用例如mov cs,ax来设置CS。当你调用一个函数时   驻留在另一个段(FAR调用),或者当你跳到另一个段时   段(FAR跳转),CS改变。

那么当我们尝试使用mov cs, ax直接修改寄存器时会发生什么?

1 个答案:

答案 0 :(得分:3)

根据Intel manual,您会收到“未定义的操作码”异常:

  

mov - 移动

     

{保护模式,实地址模式,虚拟8086模式,64位模式}摘要

     

#UD如果尝试加载CS寄存器。