交流指令是load/store指令的一种特例,它把一个寄存器单元的内容与寄存器内容交流。交流指令是一个原子操作(atomic operation),也就是说,在接连的总线操作中读/写一个存储单元,在操作期间阻挠其他任何指令对该存储单元的读/写。
交流指令在履行期间不能被其他任何指令或其他任何总线拜访打断,在此期间体系占用总线(holds the bus),直至交流完结。
SWP指令用于将内存中的一个字单元和一个指定寄存器的值相交流。操作的流程如下,假定内存单元地址存放在寄存器Rn中,指令将Rn中的数据读取到意图寄存器Rd中,一起将另一个寄存器Rm的内容写入到该内存单元中。当Rd和Rm为同一个寄存器时,指令交流该寄存器和内存单元的内容。
为指令编码中的条件域。它指示SWP指令在什么样的条件下履行。当cond疏忽时,指令为无条件履行(cond=AL(Alway))。