大型机汇编语言中的多进程处理是通过某些特殊指令来完成的,比如本文的CS(compare and swap)和CDS(compare double and swap),下面详细介绍其功能。
在多进程环境中,比如在CICS环境下,某些transaction会被多个task调用,这种情况下某些全局变量(比如counter,flag),就可能同时被多个task同时修改。。。
现在介绍的CS 和CDS指令就是为此功能而设计的,即如何在多进程中实现序列化更改或者怎么实现锁机制。
ICM R7,B'1111',0(R4) put original counter value into R7
LOOPCTR LR R8,R7 set up one copy to modify
LA R8,1(R8) + 1
CS