我希望创建一个最小的,计算通用的字母数字x86操作码子集。最终我希望子集包含尽可能少的指令,如果有多个最小子集我也想知道。子集应该能够模拟可以用整套字母数字指令编写的任何程序。说明应仅涵盖与“A-Z”,“a-z”和“0-9”字符对应的说明。
到目前为止,我认为push
,pop
,inc
,dec
,cmp
和je
就足够了,但我确定有一个较小的一套。我怎样才能证明我生成的集合能够使用所有字母数字指令模拟任何程序?我怎么能证明这样的一套是最小的?有谁知道这样的指令子集是否存在?
答案 0 :(得分:1)
答案 1 :(得分:0)
这只是一条指令!这里的证明
http://en.wikipedia.org/wiki/One_instruction_set_computer
为什么呢?仅仅因为“指令”是机器相关的概念。你不能仅仅因为没有这样的通用/绝对/原子指令来定义一小组指令:它全部取决于底层硬件:事实上,“真正的”图灵机是一个数学概念(一组规则)而不是物理机器