[英]MSP430 assembly instructions
我試圖了解這些指令對MSP 430處理器的作用:
(1) MOV.w #0x0055,R5
(2) BIC.w #0xFFEE,R5
(3) BIS.w #0x1144,R5
我無法找到解釋匯編指令的內容,並且很想知道每條指令后這些指令的作用以及存儲在r5寄存器中的內容。 有人能解釋一下嗎
MOV
將值移動到目標。 在這種情況下, R5
將包含值0x0055。
BIC
清除目標值中的位。 如果R5在指令之前包含0x0055,則它將包含值0x0011。 (將其視為反向和指令)。
BIS
設置位 - 這實際上與一個或一個操作相同。 該指令后R5
的值為0x1155。
MOV.w #0x0055,R5
執行以下操作: src → dst
BIC.w #0xFFEE,R5
執行以下not.src .and. dst → dst
not.src .and. dst → dst
BIS.w #0x1144,R5
執行以下操作: src .or. dst → dst
src .or. dst → dst
只需查看MSP 430用戶指南即可
BIS [.W]設置目標BIS.B中的位
設置目標位語法BIS src,dst或
BIS.W src,dst BIS.B src,dst操作src .OR。 dst - > dst
描述源操作數和目標操作數是邏輯ORed。 結果放入目的地。 源操作數不受影響。
狀態位狀態位不受影響。
模式位OSCOFF,CPUOFF和GIE不受影響。
示例設置RAM字TOM的六個LSB。
BIS#003Fh,TOM; 在RAM位置TOM中設置六個LSB
示例設置RAM字節TOM的三個MSB。
BIS.B#0E0h,TOM; 將3個MSB設置在RAM位置TOM中
當然:
BIC [.W]清除目標BIC.B中的位
清除目的地中的位語法BIC src,dst或
BIC.W src,dst BIC.B src,dst操作.NOT.src .AND。 dst - > dst
說明反向源操作數和目標操作數在邏輯上進行AND運算。 結果放入目的地。 源操作數不受影響。
狀態位狀態位不受影響。
模式位OSCOFF,CPUOFF和GIE不受影響。
示例清除RAM字LEO的六個MSB。
BIC#0FC00h,LEO; 清除MEM中的6個MSB(LEO)
示例清除RAM字節LEO的五個MSB。
BIC.B#0F8h,LEO; 清除Ram位置LEO中的5個MSB
我能夠在這個網站上找到這個用戶指南以及相關鏈接
現有答案中缺少的一條信息是.W與.B的重要性。
從第56頁的MSP430F24x用戶指南(SLAU144J)的第3.4節開始,它指定,
黑/白:
字節或字操作:
0:字操作
1:字節操作
值得注意的是,默認情況是指令對單詞進行操作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.