新聞中心

ARM_SWP指令用法

作者: 時(shí)間:2016-11-21 來源:網(wǎng)絡(luò) 收藏
存儲器訪問指令
SWP
寄存器和存儲器交換指令。使用SWP 可實(shí)現(xiàn)信號量操作。
實(shí)列代碼如下:
SWP R1,R1,[R0] ;取出r0地址中的數(shù)據(jù),放在r1中,并把r1中的數(shù)據(jù)放在r0中。
SWP R1,R2,,[R0] ; 將R0 指向的存儲單元內(nèi)容讀取數(shù)據(jù)到R1 中
; 并將R2 的內(nèi)容寫入到該內(nèi)存單元中
使用SWP 指令可以方便地進(jìn)行信號量的操作:
12C_SEM EQU 0x40003000
12C_SEM_WAIT
MOV R0,#0
LDR R0,=12C_SEM
SWP R1,R1,[R0] ;取出信號量,并設(shè)置其為0
CMP R1,#0 ;判斷是否有信號
BEQ 12C_SEM_WAIT ;若沒有信號,則等待


關(guān)鍵詞: ARMSWP指令用

評論


技術(shù)專區(qū)

關(guān)閉