https://drwho.virtadpt.net/files/mov.pdf
挺有意思的文章。学习一下。
1. 机器模型
先给出我们假设的简易机器模型。我们的机器模型支持随机内存访问,最小内存单元是word。寄存器有n个,分别是R1,R2,...Rn,每个都可以储存word。
x86的mov有很多种寻址模式,既可以读写内存,也可以保存立即数到寄存器。很强,但是它不能执行仍和条件跳转或者比较,所以很显然mov这个指令本身不是图灵完备(Turing-complete)的。
我们有三种指令,都是mov的变体,它有三种寻址模式
基于这三种又衍生出一些,比如我们可以用下面的方式实现数组读写
to write more