新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > ARM匯編指令集之七——數(shù)據(jù)交換指令

ARM匯編指令集之七——數(shù)據(jù)交換指令

作者: 時(shí)間:2016-11-09 來(lái)源:網(wǎng)絡(luò) 收藏
1、SWP指令

SWP指令的格式為:

本文引用地址:http://m.butianyuan.cn/article/201611/317604.htm

SWP{條件}目的寄存器,源寄存器1,[源寄存器2]

SWP指令用于將源寄存器2所指向的存儲(chǔ)器中的字?jǐn)?shù)據(jù)傳送到目的寄存器中,同時(shí)將源寄存器1中的字?jǐn)?shù)據(jù)傳送到源寄存器2所指向的存儲(chǔ)器中。顯然,當(dāng)源寄存器1和目的寄存器為同一個(gè)寄存器時(shí),指令交換該寄存器和存儲(chǔ)器的內(nèi)容。

指令示例:

SWP R0,R1,[R2];將R2所指向的存儲(chǔ)器中的字?jǐn)?shù)據(jù)傳送到R0,同時(shí)將R1中的字?jǐn)?shù)據(jù)傳送到R2所指向的存儲(chǔ)單元。

SWP R0,R0,[R1];該指令完成將R1所指向的存儲(chǔ)器中的字?jǐn)?shù)據(jù)與R0中的數(shù)據(jù)交換。

2、SWPB指令

SWPB指令的格式為:

SWP{條件}B目的寄存器,源寄存器1,[源寄存器2]

SWPB指令用于將源寄存器2所指向的存儲(chǔ)器中的字節(jié)數(shù)據(jù)傳送到目的寄存器中,目的寄存器的高24清零,同時(shí)將源寄存器1中的字節(jié)數(shù)據(jù)傳送到源寄存器2所指向的存儲(chǔ)器中。顯然,當(dāng)源寄存器1和目的寄存器為同一個(gè)寄存器時(shí),指令交換該寄存器和存儲(chǔ)器的內(nèi)容。

指令示例:

SWPB R0,R1,[R2];將R2所指向的存儲(chǔ)器中的字節(jié)數(shù)據(jù)傳送到R0,R0的高24位清零,同時(shí)將R1中的低8位數(shù)據(jù)傳送到R2所指向的存儲(chǔ)單元。

SWPB R0,R0,[R1];該指令完成將R1所指向的存儲(chǔ)器中的字節(jié)數(shù)據(jù)與R0中的低8位數(shù)據(jù)交換。



評(píng)論


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

關(guān)閉