0

我设计了一个假设的指令集,我认为它是图灵完备的。我想不出该指令集无法完成的任何计算操作。我只想验证这个假设的指令集确实是图灵完备的。

寄存器

IP = 指令指针

FL = 标志

记忆

冯诺依曼

其他信息

指令有两种形式(条件/立即跳转是异常值):

  • 使用标量作用于内存
  • 使用其他内存作用于内存

所有指令都作用于固定大小的无符号整数

每条指令由一个一字节操作码和三个尾随一字节参数组成(并非所有参数都必须使用)。

假设一个字节能够保存任何内存地址

指示

移动 = MOV

基本算术 = ADD、SUB、MUL、DIV、REM

二进制逻辑 = AND、NOT、OR、NOR、XOR、XNOR、NAND、SHR、SHL

比较 = CMP(该指令通过比较两个值来设置标志(不包括无符号整数溢出标志))

Conditional Jumps = JMP,基于标志的各种条件跳转

标志

  • “无符号整数溢出”
  • ">"
  • “<”
  • ">="
  • "<="
  • “=/=”
  • “=”
4

0 回答 0