DMB指令保证:仅当所有在它前面的存储器访问操作都执行完毕后,才提交( commit)在它后面的存取访问操作指令。...比DMB要严格一些,仅当所有在它前面的存储访问操作指令都执行完毕后,才会执行在它后面的指令,即任何指令都要等待DSB前面的存储访问完成。...它最严格,冲洗流水线( Flush Pipeline)和预取buer( pretcLbuffers后,才会从 cache或者内存中预取ISB指令之后的指令。...A得到旧的值,B也得到旧的值。
A得到旧的值,B得到新的值。
A得到新的值,B得到旧的值。
A得到新的值,B得到新的值。...loop:
LDR R1, [Flag]
CMP R1, #0 @判断flag有没有置位
BEQ Poll loop
LDRR0,[Msg] @读取新数据
在STR 存储指令之后插入DSB指令,强制让写命令完成