程序集中未定义的状态标志值

时间:2013-12-07 15:53:00

标签: assembly x86 flags x86-16

我找到了intel 8086命令列表以及每条指令如何影响标志(http://www.gabrielececchetti.it/Teaching/CalcolatoriElettronici/Docs/i8086_instruction_set.pdf)。

问题是我不知道发生了什么,如果某个指令的标志未定义(标记为?)。

例如,如果我们将辅助标志设置为1,并运行XOR BX, A3BA,其中BX04B7,则辅助标志在指令执行后变为零。在文档中,我们可以看到XOR将辅助标记标记为未定义。那么如果标志未定义,如何确定标志的变化呢?

1 个答案:

答案 0 :(得分:1)

根据每条指令的结果设置标志。某些标志(如A标志)对某些指令可能没有任何意义。当您执行不涉及4位算术的指令时,谈论4位进位(这是A标志指示的内容)是没有意义的。

关注对正在执行的指令有意义的标志,忽略其余部分。