新聞中心

MSP430匯編指令

作者: 時間:2016-11-25 來源:網絡 收藏
操作數位置及執(zhí)行過程 狀 態(tài) 位
代 碼 源操作數目的操作數 指令執(zhí)行過程詳述 VNZC
ADC[.W]或ADC.B dst dst+C->dst 進位C 加至目的操作數目的操作數以前的內容丟失 ****
ADD[.W]或ADD.B src,dst src+dst->dst 源操作數加至目的操作數源操作數不受影響目的操作數以前的內容丟失 ****
ADDC[.W]或ADDC.B src,dst src+dst+C->dst 源操作數和進位C 加至目的操作數源操作數不受影響目的操作數以前的內容丟失 ****
AND[.W]或AND.B src,dst src.and.dst->dst 源操作數和目的操作數邏輯與結果放入目的操作 0***
BIC[.W]或BIC.B src,dst not.src.and.dst->dst 求反后的源操作數和目的操作數邏輯與結果放入目的操作數源操作數不變 ----
BIS[.W]或BIS.B src,dst src.or.dst->dst 源操作數和目的操作數邏輯或 結果放入目的操作數源操作數不變 ----
BIT[.W]或BIT.B src,dst src.and.dst 源操作數和目的操作數邏輯與其結果只影響狀態(tài)位目的操作數和源操作數不變 0***
BR dst轉移到 無條件轉移到64K 地址空間的任一地址處可使用所有的源尋址方式轉換指令是一個字指令 ----
CALL dstPC+2->堆棧,dst->PC 調用64K 地址空間中任一地址處的子程序可使用所有的尋址方式返回地址(后續(xù)指令的地址)儲存在堆棧中調用指令是一個字指令 ----
CLR[.W]或CLR.B dst清除目的操作數 清除目的操作數 ----
CLRC 清除進位位 進位位被清零清除進位位指令是一個字指令 ---0
CLRN 清除負位 常數#04H 求反后(0FFFBH)和目的操作數邏輯與結果放入目的操作數清除負位指令是一個字指令 -0--
CLRZ 清除零位 常數#02H 求反后(0FFFDH)和目的操作數邏輯與結果放入目的操作數清除負位指令是一個字指令 --0-
CMP[.W]或CMP.B dstdst-src 從目的操作數中減去源操作數方法是將源操作數求反再加 1,源操作數和目的操作數不受影響不保存結果只影響狀態(tài)位 ****
DADC[.W]或DADC.B dst dst+C->dst(十進制) 進位位C 作為十進制加至目的操作數 ****
DADD[.W]或DADD.B src,dst src+dst+C->dst(十進制) 源操作數和目的操作數被當作4 個帶有正符號的二-十進制BCD 數十進制的源操作數和進位C 被加至目的操作數源操作數不受影響目的操作數以前的內容丟失些結果對于非二-十進制數是不確定的 ****
DEC[.W]或DEC.B dst dst-1->dst 目的操作數減1 以前的內容丟失 ****
DECD[.W]或DECD.B dst dst-2->dst 目的操作數減2 以前的內容丟失 ****
DINT 禁止中斷 禁止所有中斷 ----
EINT 使能中斷 使能所有中斷,常數08H 與狀態(tài)寄存器SR 邏輯或其結果放入SR ----
INC[.W]或INC.B dst dst+1->dst目的操作數增1 目的操作數加1 以前的內容丟失 ****
INCD[.W]或INCD.B dst dst+2->dst目的操作數增2 目的操作數加2 以前的內容丟失 ****
INV[.W]或INV.B dst目的操作數求反 目的操作數取反以前的內容丟失 ****
JC/JHS 標號進位位被置時轉移到標號語句 測試狀態(tài)寄存器的進位位C 如果它被置則指令的LSB 中包含的10 位符號偏移加至程序計數器如果C 被復位則執(zhí)行JUMP 后面的一條指令JC( 有進位/大于等于時跳轉 )用于比較無符號數(0~65536) ----
JEQ/JZ 標號零位被置時轉移到標號語句 測試狀態(tài)寄存器的零位Z 如果它被置則指令的LSB 中包含的10 位符號偏移加至程序計數器如果Z 被復位則執(zhí)行JUMP 后面的一條指令 ----
JGE 標號N.xor.V=0時轉移到標號語句 測試狀態(tài)寄存器的負位N 和溢出位V 如果N 和V 均被置位或復位則指令的LSB 中包含的10 位符號偏移加至程序計數器如果其中之一被置位則執(zhí)行JUMP 后面的一條指令該指令允許比較符號整數 ----
JL 標號N.xor.V=0時轉移到標號語句 測試狀態(tài)寄存器的負位N 和溢出位V 如果N 和V 其中之一被置位則指令的LSB 中包含的10 位符號偏移加至程序計數器如果兩都均被置位或復位則執(zhí)行JUMP 后面的一條指令該指令允許比較符號整數 ----
JMP 標號無條件轉移到標號語句 指令的LSB中包含的10 位符號偏移加至程序計數器 ----
JN 標號負位被置時轉移到標號語句 測試狀態(tài)寄存器的負位N 如果N 被置位則指令的LSB 中包含的10 位符號偏移加至程序計數器如果N 被復位則執(zhí)行JUMP 后面的一條指令該指令允許比較符號整數狀態(tài)位 不影響狀態(tài)位 ----
JNC/JLO 標號進位位復位時轉移到標號語句 測試狀態(tài)寄存器的進位位C 如果它被復位則指令的LSB 中包含的10 位符號偏移加至程序計數器如果C 被置位則執(zhí)行JUMP 后面的一條指令JC( 有進位/大于等于時跳轉 )用于比較無符號數(0~65536) ----
JNE/JNZ 標號零位復位時轉移到標號語句 測試狀態(tài)寄存器的零位Z 如果它被復位則指令的LSB 中包含的10 位符號偏移加至程序計數器如果Z 被復位則執(zhí)行JUMP 后面的一條指令 ----
MOV[.W]或MOV.B src,dst src->dst 源操作數被移至目的操作數源操作數不變目的操作數以前的內容丟失 ----
NOP 空操作 此指令可用于在檢查軟件期間仿真指令或用于已確定的等待時間 ----
POP[.W]或POP.B dst項目從堆棧彈出,SP+2->SP 堆棧指針(TOS)指向的棧區(qū)字移至目的操作數隨后堆棧指針加2 ----
PUSH[.W]或PUSH.B src SP–2->SP,src->@SP 堆棧指針減2 然后源操作數移至由此指針(TOS)尋址的RAM 字 ----
RETI TOS->SR SP+2->SP,TOS->PC SP+2->SP (1)狀態(tài)寄存器恢復到中斷服務程序開始時的值用TOS 存儲器中的值替換SR 中的當前值可做到這一點堆棧指針SP加2
(2)程序計數器恢復到中斷服務程序開始時的值這是中斷程序流的后續(xù)步驟用TOS 存儲器中的值替換PC 的當前值可實現(xiàn)這種恢復堆棧指SP 加1 ----
RET TOS->SR SP+2->SP 由CALL 指令壓進棧的返回地址移至程序計數器程序在子程序調用后的代碼地址處繼續(xù)執(zhí)行 ----
RLA[.W]或RLA.B dst算術左移 目的操作數左移一位MSB成為進位位C LSB 填0 RLA 指令可當作符號乘2 在執(zhí)行該操作前如果dst 大于等于04000H 且小于0C000H 則產生溢出結果會改變符號 ****
RLC[.W]或RLC.B dst帶進位位左移 目的操作數左移一位進位位C 移入LSB MSB移入進位位C ****
RRA[.W]或RRA.B dst算術右移 目的操作數右移一位MSB移入MSB MSB移入MSB – 1 LSB + 1 移入LSB 0***
RRC[.W]或RRC.B dst帶進位位右移 目的操作數右移一位進位位C 移入MSB LSB移入進位位C ****
SBC[.W]或SBC.B dst從目的操作數減去借位 進位C 加到減1 后的目的操作數目的操作數原來的內容丟失 ****
SETC 置進位位 進位C 被置這是一個常用的操作 ---1
SETN 置負位-1 負位N 被置 -1--
SETZ 置零位-1 負位Z 被置 --1-
SUB[.W]或SUB.B src,dst dst+.not.src+1->dst 從目的操作數中減去源操作數方法是將源操作數求反再加上常數1 源操作數不受影響目的操作數以前的內容丟失 ****
SUBC[.W]或SUBC.B src,dst dst+.not.src+C->dst 從目的操作數中減去源操作數方法是將源操作數求反再加上進位C 源操作數不受影響目的操作數以前的內容丟失 ****
SWAP dst交換字節(jié) 目的操作數的高位字節(jié)和低位字節(jié)互換 ----
SXT dst dst位7->位8......位150 低位字節(jié)的符號擴展到高位字節(jié) 0***
TST[.W]或TST.B dst測試目的操作數 比較目的操作數和 0 根據結果設置狀態(tài)位目的操作數不受影響 0**1
XOR[.W]或XOR.B src,dst src.xor.dst->dst 源操作數和目的操作數異或其結果放放目的操作數源操作數不受影響 ****
注:
1、以上指令共51條
2、狀態(tài)位中“*”表示影響“-”表示不影響“0”表示清零“1”表示置位
3、含.B的為單字節(jié)操作指令,含[.W]的為雙字節(jié)操作指令(可省略)
4、src 源操作數,dst目的操作數,TOS堆棧頂部,SR狀態(tài)寄存器,SP堆棧指針


關鍵詞: MSP430匯編指

評論


技術專區(qū)

關閉