ChinaUnix.net
相关文章推荐:

ldrex

早期的ARM指令集(V6前)提供SWP指令,该指令可原子交换寄存器和内存数据,用于实现信号量操作。

如下面这个例子:

sem_wati:
MOV R1,#0   
LDR R0,=SEM
SWP R1,R1,[R0] ;取出信号量,并设置其为0
CMP R1,#0 ;判断是否有信号
BEQ sem_wait ;若没有信号,则等待

SWP指令的缺点是会l...

by aokikyon - 移动操作系统 - 2011-12-22 08:51:16 阅读(788) 回复(0)

相关讨论