11、数据传输指令
参考资料:
L-1.8: Data Transfer Instructions in Computer Organisation and Architecture - YouTube
数据传输指令意味着需要传输数据,什么是源地址?什么是目的地址?
准备好内存和寄存器组(与处理器进行工作的),还需要准备I/O设备。在I/O设备中也有内存与寄存器组。
数据传输就是指在上面的这些内存与寄存器之间传输数据。
移动指令(mov):将数据从源地址搬到目的地址,将一个单词从一个位置移动到另外一个位置,从一个寄存器到另外一个寄存器,从一个
寄存器到内存
mov r1, r2,意味着移动r2寄存器的数据到r1寄存器。
移动指令不仅仅是移动数据。不用的变体也会在其中体现出来,而这种变体取决于寻址模式,通常有7~8种寻址模式,在不同寻址模式下,
有不同的写法mov、load、store。
比如下面这个指令:
mov R, 500 意味着立即寻址模式,所以有一个直接操作数500,我们将该操作数500直接移动到R这个寄存器里面
mov R1, x 我们有个内存位置x,从那个内存位置我们必须将数据复制到寄存器R1
在不同类型的寻址中,写入它的方式也将改变。
加载指令(load)基本上是用来从内存加载数据到寄存器。通常是将内存中的数据加载到累加寄存器中。
store指令将数据从寄存器发送到内存
Load R1, R2。 将R2寄存器中的数据加载到R1寄存器,需要取决与不同的寻址方式
Exchange指令:表示的是交换指令
XchG R1, R2 表示将R1寄存器中的数据与R2寄存器中的数据进行交换
对于外设来说还有输入/输出指令
当我们将内存视为堆栈时,我们通常使用push和pop指令,