假设有一块智能芯片,内部存在一个规则列表,初始时列表为空,初始功能是可以向规则列表里添加规则.
我们向智能芯片添加下面这些规则:
规则一.可以处理NOP指令,指令长度为1个字节
规则二.可以处理JMP指令,指令长度为3个字节,后两个字节为要跳转的物理内存地址
规则三.可以从物理内存中读取指令并且执行
规则四.存在一个指令指针寄存器IP,用于指示要读取的物理内存地址
规则五.如果当前执行的是NOP指令,IP=IP+1
规则六.如果当前执行的是JMP指令,IP=(JMP指令的后两个字节)
规则七.IP内容改变时到物理内存中取指令
假定物理内存从0x1000地址开始存在下面的程序(指令序列)
0x1000: nop
0x1001: nop
0x1002: nop
0x1003: nop
0x1004: nop
0x1005: nop
0x1006: jmp 0x1000
根据上面添加的规则,假定当前的IP内容是0x1000,并且已经开始执行.则我们的智能芯片就一直在循环执行上面
的指令序列.