機(jī)電之家資源網(wǎng)
單片機(jī)首頁|單片機(jī)基礎(chǔ)|單片機(jī)應(yīng)用|單片機(jī)開發(fā)|單片機(jī)文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開發(fā)
培訓(xùn)信息
贊助商
HOLTEK 指令集說明
HOLTEK 指令集說明
 更新時(shí)間:2008-7-26 20:05:44  點(diǎn)擊數(shù):2
【字體: 字體顏色

HOLTEK 指令集說明
指令集說明
注由于資源大小問題其中以下幾款MCU 只有62 條指令其余均為63 條指令
HT48CA0/HT48RA0A 無RETI 指令
HT48R05A-1 無TABRDL 指令
指令尋址方式有下面5 種
.. 立即尋址
此一尋址法是將立即的常數(shù)值緊跟在運(yùn)算碼 (opcode) 后例如
MOV A, 33H
ADD A, 33H
.. 直接尋址
直接尋址的情況只允許在存儲(chǔ)器之間作數(shù)據(jù)傳送例如
MOV [33H], A
CLR [33H]
.. 間接尋址
在間接尋址方式中必定要使用到間接尋址暫存器(R0 R1) 例如
MOV R0, A
MOV A, R0
.. 特殊暫存器尋址
此一尋址方式完全是針對(duì)某一暫存器作運(yùn)算例如
CLR WDT
CLR WDT1
.. 指針尋址
指針尋址只適用在配合做查表指令例如
MOV A, 02H
MOV TBLP, A

HOLTEK 指令集說明
2
指令集摘要
助記符 說明 指令
周期 影響標(biāo)志位
算術(shù)運(yùn)算
ADD A, [m] 累加器與數(shù)據(jù)存儲(chǔ)器相加結(jié)果放入累加器 1 Z,C,AC,OV
ADDM A, [m] 累加器與數(shù)據(jù)存儲(chǔ)器相加結(jié)果放入數(shù)據(jù)存儲(chǔ)器 11 Z,C,AC,OV
ADD A, x 累加器與立即數(shù)相加結(jié)果放入累加器 1 Z,C,AC,OV
ADC A, [m] 累加器與數(shù)據(jù)存儲(chǔ)器進(jìn)位標(biāo)志相加結(jié)果放入累加器 1 Z,C,AC,OV
ADCM A, [m] 累加器與數(shù)據(jù)存儲(chǔ)器進(jìn)位標(biāo)志相加結(jié)果放入數(shù)據(jù)存儲(chǔ)器 1 1 Z,C,AC,OV
SUB A, x 累加器與立即數(shù)相減結(jié)果放入累加器 1 Z,C,AC,OV
SUB A, [m] 累加器與數(shù)據(jù)存儲(chǔ)器相減結(jié)果放入累加器 1 Z,C,AC,OV
SUBM A, [m] 累加器與數(shù)據(jù)存儲(chǔ)器相減結(jié)果放入數(shù)據(jù)存儲(chǔ)器 11 Z,C,AC,OV
SBC A, [m] 累加器與數(shù)據(jù)存儲(chǔ)器進(jìn)位標(biāo)志相減結(jié)果放入累加器 1 Z,C,AC,OV
SBCM A, [m] 累加器與數(shù)據(jù)存儲(chǔ)器進(jìn)位標(biāo)志相減結(jié)果放入數(shù)據(jù)存儲(chǔ)器 1 1 Z,C,AC,OV
DAA [m] 將加法運(yùn)算后放入累加器的值調(diào)整為十進(jìn)制數(shù)并將結(jié)果放
入數(shù)據(jù)存儲(chǔ)器 1 1 C
邏輯運(yùn)算
AND A, [m] 累加器與數(shù)據(jù)存儲(chǔ)器做與運(yùn)算結(jié)果放入累加器 1 Z
OR A, [m] 累加器與數(shù)據(jù)存儲(chǔ)器做或運(yùn)算結(jié)果放入累加器 1 Z
XOR A, [m] 累加器與數(shù)據(jù)存儲(chǔ)器做異或運(yùn)算結(jié)果放入累加器 1 Z
ANDM A, [m] 累加器與數(shù)據(jù)存儲(chǔ)器做與運(yùn)算結(jié)果放入數(shù)據(jù)存儲(chǔ)器 11 Z
ORM A, [m] 累加器與數(shù)據(jù)存儲(chǔ)器做或運(yùn)算結(jié)果放入數(shù)據(jù)存儲(chǔ)器 11 Z
XORM A, [m] 累加器與數(shù)據(jù)存儲(chǔ)器做異或運(yùn)算結(jié)果放入數(shù)據(jù)存儲(chǔ)器 1 1 Z
AND A, x 累加器與立即數(shù)做與運(yùn)算結(jié)果放入累加器 1 Z
OR A, x 累加器與立即數(shù)做或運(yùn)算結(jié)果放入累加器 1 Z
XOR A, x 累加器與立即數(shù)做異或運(yùn)算結(jié)果放入累加器 1 Z
CPL [m] 對(duì)數(shù)據(jù)存儲(chǔ)器取反結(jié)果放入數(shù)據(jù)存儲(chǔ)器 11 Z
CPLA [m] 對(duì)數(shù)據(jù)存儲(chǔ)器取反結(jié)果放入累加器 1 Z
遞增和遞減
INCA [m] 數(shù)據(jù)存儲(chǔ)器的內(nèi)容加1 結(jié)果放入累加器 1 Z
INC [m] 數(shù)據(jù)存儲(chǔ)器的內(nèi)容加1 結(jié)果放入數(shù)據(jù)存儲(chǔ)器 11 Z
DECA [m] 數(shù)據(jù)存儲(chǔ)器的內(nèi)容減1 結(jié)果放入累加器 1 Z
DEC [m] 數(shù)據(jù)存儲(chǔ)器的內(nèi)容減1 結(jié)果放入數(shù)據(jù)存儲(chǔ)器 11 Z
移位
RRA [m] 數(shù)據(jù)存儲(chǔ)器右移一位結(jié)果放入累加器 1 無
RR [m] 數(shù)據(jù)存儲(chǔ)器右移一位結(jié)果放入數(shù)據(jù)存儲(chǔ)器 11 無
RRCA [m] 帶進(jìn)位將數(shù)據(jù)存儲(chǔ)器右移一位結(jié)果放入累加器 1 C
RRC [m] 帶進(jìn)位將數(shù)據(jù)存儲(chǔ)器右移一位結(jié)果放入數(shù)據(jù)存儲(chǔ)器 11 C
RLA [m] 數(shù)據(jù)存儲(chǔ)器左移一位結(jié)果放入累加器 1 無
RL [m] 數(shù)據(jù)存儲(chǔ)器左移一位結(jié)果放入數(shù)據(jù)存儲(chǔ)器 11 無
RLCA [m] 帶進(jìn)位將數(shù)據(jù)存儲(chǔ)器左移一位結(jié)果放入累加器 1 C
RLC [m] 帶進(jìn)位將數(shù)據(jù)存儲(chǔ)器左移一位結(jié)果放入數(shù)據(jù)存儲(chǔ)器 11 C
數(shù)據(jù)傳送
MOV A, [m] 將數(shù)據(jù)存儲(chǔ)器送至累加器 1 無
MOV [m], A 將累加器送至數(shù)據(jù)存儲(chǔ)器 11 無
MOV A, x 將立即數(shù)送至累加器 1 無
位運(yùn)算
CLR [m]. i 將數(shù)據(jù)存儲(chǔ)器的第i 位清0 11 無
SET [m]. i 將數(shù)據(jù)存儲(chǔ)器的第i 位置1 11 無

HOLTEK 指令集說明
3
助記符 說明 指令
周期 影響標(biāo)志位
轉(zhuǎn)移
JMP addr 無條件跳轉(zhuǎn) 2 無
SZ [m] 如果數(shù)據(jù)存儲(chǔ)器為0 則跳過下一條指令 12 無
SZA [m] 數(shù)據(jù)存儲(chǔ)器送至累加器如果內(nèi)容為0 則跳過下一條指
令 1 2 無
SZ [m]. i 如果數(shù)據(jù)存儲(chǔ)器的第i 位為0 則跳過下一條指令 12 無
SNZ [m]. i 如果數(shù)據(jù)存儲(chǔ)器的第i 位不為0 則跳過下一條指令 12 無
SIZ [m] 數(shù)據(jù)存儲(chǔ)器加1 如果結(jié)果為0 則跳過下一條指令 13 無
SDZ [m] 數(shù)據(jù)存儲(chǔ)器減1 如果結(jié)果為0 則跳過下一條指令 13 無
SIZA [m] 數(shù)據(jù)存儲(chǔ)器加1 將結(jié)果放入累加器如果結(jié)果為0 則跳
過下一條指令 1 2 無
SDZA [m] 數(shù)據(jù)存儲(chǔ)器減1 將結(jié)果放入累加器如果結(jié)果為0 則跳
過下一條指令 1 2 無
CALL addr 子程序調(diào)用 2 無
RET 從子程序返回 2 無
RET A, x 從子程序返回并將立即數(shù)放入累加器 2 無
RETI 從中斷返回 2 無
查表
TABRDC [m] 讀取當(dāng)前頁的ROM 內(nèi)容并送至數(shù)據(jù)存儲(chǔ)器和TBLH 2 1 無
TABRDL [m] 讀取最后頁的ROM 內(nèi)容并送至數(shù)據(jù)存儲(chǔ)器和TBLH 2 1 無
其它指令
NOP 空指令 1 無
CLR [m] 清除數(shù)據(jù)存儲(chǔ)器 11 無
SET [m] 置位數(shù)據(jù)存儲(chǔ)器 11 無
CLR WDT 清除看門狗定時(shí)器 1 TO,PD
CLR WDT1 預(yù)清除看門狗定時(shí)器 1 TO 4 ,PD 4
CLR WDT2 預(yù)清除看門狗定時(shí)器 1 TO 4 ,PD 4
SWAP [m] 交換數(shù)據(jù)存儲(chǔ)器的高低字節(jié)結(jié)果放入數(shù)據(jù)存儲(chǔ)器 11 無
SWAPA [m] 交換數(shù)據(jù)存儲(chǔ)器的高低字節(jié)結(jié)果放入累加器 1 無
HALT 進(jìn)入暫停模式 1 TO,PD
注 x 立即數(shù)
m 數(shù)據(jù)存儲(chǔ)器地址
A 累加器ACC
i 第0~7 位
addr 程序存儲(chǔ)器地址
影響標(biāo)志位
不影響標(biāo)志位
1 如果數(shù)據(jù)是加載到PCL 寄存器則指令執(zhí)行周期會(huì)被延長一個(gè)指令周期四個(gè)系統(tǒng)時(shí)鐘
2 如果滿足跳躍條件則指令執(zhí)行周期會(huì)被延長一個(gè)指令周期四個(gè)系統(tǒng)時(shí)鐘否則指令執(zhí)行周期不會(huì)被延長
3 1 和2
4 如果執(zhí)行CLW WDT1 或CLR WDT2 指令后看門狗定時(shí)器被清除則會(huì)影響TO 和PD 標(biāo)志位否則不會(huì)影響
TO 和PD 標(biāo)志位

HOLTEK 指令集說明
4
ADC A, [m] 累加器與數(shù)據(jù)存儲(chǔ)器進(jìn)位標(biāo)志相加結(jié)果放入累加器
說明 本指令把累加器數(shù)據(jù)存儲(chǔ)器值以及進(jìn)位標(biāo)志相加結(jié)果存放到累加器
運(yùn)算過程 ACC..ACC+[m]+C
影響標(biāo)志位
TC2 TC1 TO PD OV Z AC C
ADCM A, [m] 累加器與數(shù)據(jù)存儲(chǔ)器進(jìn)位標(biāo)志相加結(jié)果放入數(shù)據(jù)存儲(chǔ)器
說明 本指令把累加器數(shù)據(jù)存儲(chǔ)器值以及進(jìn)位標(biāo)志相加結(jié)果存放到存儲(chǔ)器
運(yùn)算過程 [m]..ACC+[m]+C
影響標(biāo)志位
TC2 TC1 TO PD OV Z AC C
ADD A, [m] 累加器與數(shù)據(jù)存儲(chǔ)器相加結(jié)果放入累加器
說明 本指令把累加器數(shù)據(jù)存儲(chǔ)器值相加結(jié)果存放到累加器
運(yùn)算過程 ACC..ACC+[m]
影響標(biāo)志位
TC2 TC1 TO PD OV Z AC C
ADD A, x 累加器與立即數(shù)相加結(jié)果放入累加器
說明 本指令把累加器值和立即數(shù)相加結(jié)果存放到累加器
運(yùn)算過程 ACC..ACC+X
影響標(biāo)志位
TC2 TC1 TO PD OV Z AC C
ADDM A, [m] 累加器與數(shù)據(jù)存儲(chǔ)器相加結(jié)果放入數(shù)據(jù)存儲(chǔ)器
說明 本指令把累加器數(shù)據(jù)存儲(chǔ)器值相加結(jié)果放到數(shù)據(jù)存儲(chǔ)器
運(yùn)算過程 [m]..ACC+[m]
影響標(biāo)志位
TC2 TC1 TO PD OV Z AC C
AND A, [m] 累加器與數(shù)據(jù)存儲(chǔ)器做與運(yùn)算結(jié)果放入累加器
說明 本指令把累加器值數(shù)據(jù)存儲(chǔ)器值做邏輯與結(jié)果存放到累加器
運(yùn)算過程 ACC..ACC “AND” [m]
影響標(biāo)志位
TC2 TC1 TO PD OV Z AC C

HOLTEK 指令集說明
5
AND A, x 累加器與立即數(shù)做與運(yùn)算結(jié)果放入累加器
說明 本指令把累加器值立即數(shù)做邏輯與結(jié)果存放到累加器
運(yùn)算過程 ACC..ACC “AND” X
影響標(biāo)志位
TC2 TC1 TO PD OV Z AC C
ANDM A, [m] 累加器與數(shù)據(jù)存儲(chǔ)器做與運(yùn)算結(jié)果放入數(shù)據(jù)存儲(chǔ)器
說明 本指令把累加器值數(shù)據(jù)存儲(chǔ)器值做邏輯與結(jié)果放到數(shù)據(jù)存儲(chǔ)器
運(yùn)算過程 ACC..ACC “AND” [m]
影響標(biāo)志位
TC2 TC1 TO PD OV Z AC C
CALL addr 子程序調(diào)用
說明 本指令直接調(diào)用地址所在處的子程序此時(shí)程序計(jì)數(shù)器加一將此程序計(jì)數(shù)器值存到堆
棧寄存器中再將子程序所在處的地址存放到程序計(jì)數(shù)器中
運(yùn)算過程 Stack..PC+1
PC .. addr
影響標(biāo)志位
TC2 TC1 TO PD OV Z AC C
CLR [m] 清除數(shù)據(jù)存儲(chǔ)器
說明 本指令將數(shù)據(jù)存儲(chǔ)器內(nèi)的數(shù)值清零
運(yùn)算過程 [m] ..00H
影響標(biāo)志位
TC2 TC1 TO PD OV Z AC C
CLR [m] . i 將數(shù)據(jù)存儲(chǔ)器的第i 位清0
說明 本指令將數(shù)據(jù)存儲(chǔ)器內(nèi)第i 位值清零
運(yùn)算過程 [m].i ..0
影響標(biāo)志位
TC2 TC1 TO PD OV Z AC C
CLR WDT 清除看門狗定時(shí)器
說明 本指令清除WDT 計(jì)數(shù)器從0 開始重新計(jì)數(shù)暫停標(biāo)志位PD 和看門狗溢出標(biāo)志
位TO 也被清零
運(yùn)算過程 WDT .. 00H
PD&TO .. 0
影響標(biāo)志位
TC2 TC1 TO PD OV Z AC C
0 0

HOLTEK 指令集說明
6
CLR WDT1 預(yù)清除看門狗定時(shí)器
說明 必須搭配CLR WDT2 一起使用才可清除WDT 計(jì)時(shí)器從0 開始重新計(jì)數(shù)當(dāng)程序
只執(zhí)行過該指令沒有執(zhí)行CLR WDT2 時(shí)系統(tǒng)只會(huì)不會(huì)將暫停標(biāo)志位PD 和計(jì)數(shù)
溢出位TO 清零PD 與TO 保留原狀態(tài)不變
運(yùn)算過程 WDT .. 00H*
PD&TO .. 0*
影響標(biāo)志位
TC2 TC1 TO PD OV Z AC C
0* 0*
CLR WDT2 預(yù)清除看門狗定時(shí)器
說明 必須搭配CLR WDT1 一起使用才可清除WDT 計(jì)時(shí)器從0 開始重新計(jì)數(shù)當(dāng)程序
只執(zhí)行過該指令沒有執(zhí)行CLR WDT1 時(shí)系統(tǒng)只會(huì)不會(huì)將暫停標(biāo)志位PD 和計(jì)數(shù)
溢出位TO 清零PD 與TO 保留原狀態(tài)不變
運(yùn)算過程 WDT .. 00H*
PD&TO .. 0*
影響標(biāo)志位
TC2 TC1 TO PD OV Z AC C
0* 0*
CPL [m] 對(duì)數(shù)據(jù)存儲(chǔ)器取反結(jié)果放入數(shù)據(jù)存儲(chǔ)器
說明 本指令是將數(shù)據(jù)存儲(chǔ)器內(nèi)保存的數(shù)值取反
運(yùn)算過程 [m] .. [m ]
影響標(biāo)志位
TC2 TC1 TO PD OV Z AC C
CPLA [m] 對(duì)數(shù)據(jù)存儲(chǔ)器取反結(jié)果放入累加器
說明 本指令是將數(shù)據(jù)存儲(chǔ)器內(nèi)保存的值取反后結(jié)果存放在累加器中
運(yùn)算過程 ACC .. [m ]
影響標(biāo)志位
TC2 TC1 TO PD OV Z AC C

HOLTEK 指令集說明
7
DAA [m] 將加法運(yùn)算后放入累加器的值調(diào)整為十進(jìn)制數(shù)并將結(jié)果放入數(shù)據(jù)存儲(chǔ)器
說明 本指令將累加器高低四位分別調(diào)整為BCD 碼如果低四位的值大于9 或AC=1 那
么BCD 調(diào)整就執(zhí)行對(duì)原值加6 并且內(nèi)部進(jìn)位標(biāo)志AC1=AC 即AC 求反否則原
值保持不變?nèi)绻咚奈坏闹荡笥? 或C=1 那么BCD 調(diào)整就執(zhí)行對(duì)原值加6
再加AC1 并把C 置位否則BCD 調(diào)整就執(zhí)行對(duì)原值加AC1 C 的值保持不變結(jié)果
存放到數(shù)據(jù)存儲(chǔ)器中只有進(jìn)位標(biāo)志位C 受影響
操作 如果ACC.3~ACC.0 > 9 或AC=1
那么 [m].3~[m].0 .. ACC.3~ACC.0 +6 AC1= AC
否則 [m].3~[m].0 .. ACC.3~ACC.0 AC1=0
并且
如果ACC.7~ACC.4+AC1 > 9 或C=1
那么 [m].7~[m].4 .. ACC.7~ACC.4 +6+ AC1 C=1
否則 [m].7~[m].4 .. ACC.7~ACC.4 + AC1 C=C
影響標(biāo)志位
TC2 TC1 TO PD OV Z AC C
DEC [m] 數(shù)據(jù)存儲(chǔ)器的內(nèi)容減1 結(jié)果放入數(shù)據(jù)存儲(chǔ)器
說明 本指令將數(shù)據(jù)存儲(chǔ)器內(nèi)的數(shù)值減一再放回?cái)?shù)據(jù)存儲(chǔ)器
運(yùn)算過程 [m] .. [m]-1
影響標(biāo)志位
TC2 TC1 TO PD OV Z AC C
DECA [m] 數(shù)據(jù)存儲(chǔ)器的內(nèi)容減1 結(jié)果放入累加器
說明 本指令將存儲(chǔ)器內(nèi)的數(shù)值減一,再放到累加器
運(yùn)算過程 ACC .. [m]-1
影響標(biāo)志位
TC2 TC1 TO PD OV Z AC C
HALT 進(jìn)入暫停模式
說明 本指令終止程序執(zhí)行并關(guān)掉系統(tǒng)時(shí)鐘RAM 和寄存器內(nèi)的數(shù)值保持原狀態(tài)WDT 計(jì)數(shù)
器清0 暫停標(biāo)志位PD 被設(shè)為1 WDT 計(jì)數(shù)溢出位TO 被清為0
運(yùn)算過程 PC .. PC+1
PD .. 1
TO .. 0
影響標(biāo)志位
TC2 TC1 TO PD OV Z AC C
0 1

HOLTEK 指令集說明
8
INC [m] 數(shù)據(jù)存儲(chǔ)器的內(nèi)容加1 結(jié)果放入數(shù)據(jù)存儲(chǔ)器
說明 本指令將數(shù)據(jù)存儲(chǔ)器內(nèi)的數(shù)值加一,結(jié)果放回?cái)?shù)據(jù)存儲(chǔ)器
運(yùn)算過程 [m] .. [m]+1
影響標(biāo)志位
TC2 TC1 TO PD OV Z AC C
INCA [m] 數(shù)據(jù)存儲(chǔ)器的內(nèi)容加1 結(jié)果放入數(shù)據(jù)存儲(chǔ)器
說明 本指令是將存儲(chǔ)器內(nèi)的數(shù)值加一,結(jié)果放到累加器
運(yùn)算過程 ACC .. [m]+1
影響標(biāo)志位
TC2 TC1 TO PD OV Z AC C
JMP addr 無條件跳轉(zhuǎn)
說明 本指令是將要跳到的目的地直接放到程序計(jì)數(shù)器內(nèi)
運(yùn)算過程 PC .. addr
影響標(biāo)志位
TC2 TC1 TO PD OV Z AC C
MOV A, [m] 將數(shù)據(jù)存儲(chǔ)器送至累加器
說明 本指令是將數(shù)據(jù)存儲(chǔ)器內(nèi)的數(shù)值送到累加器內(nèi)
運(yùn)算過程 ACC .. [m]
影響標(biāo)志位
TC2 TC1 TO PD OV Z AC C
MOV A, x 將立即數(shù)送至累加器
說明 本指令是將立即數(shù)送到累加器內(nèi)
運(yùn)算過程 ACC .. X
影響標(biāo)志位
TC2 TC1 TO PD OV Z AC C
MOV [m], A 將累加器送至數(shù)據(jù)存儲(chǔ)器
說明 本指令是將累加器值送到數(shù)據(jù)存儲(chǔ)器內(nèi)
運(yùn)算過程 [m] .. ACC
影響標(biāo)志位
TC2 TC1 TO PD OV Z AC C

HOLTEK 指令集說明
9
NOP 空指令
說明 本指令不作任何運(yùn)算而只將程序計(jì)數(shù)器加一
運(yùn)算過程 PC .. PC+1
影響標(biāo)志位
TC2 TC1 TO PD OV Z AC C
OR A, [m] 累加器與數(shù)據(jù)存儲(chǔ)器做或運(yùn)算結(jié)果放入累加器
說明 本指令是把累加器數(shù)據(jù)存儲(chǔ)器值做邏輯或結(jié)果放到累加器
運(yùn)算過程 ACC..ACC “OR” [m]
影響標(biāo)志位
TC2 TC1 TO PD OV Z AC C
OR A, x 累加器與立即數(shù)做或運(yùn)算結(jié)果放入累加器
說明 本指令是把累加器值立即數(shù)做邏輯或結(jié)果放到累加器
運(yùn)算過程 ACC..ACC “OR” X
影響標(biāo)志位
TC2 TC1 TO PD OV Z AC C
ORM A, [m] 累加器與數(shù)據(jù)存儲(chǔ)器做或運(yùn)算結(jié)果放入數(shù)據(jù)存儲(chǔ)器
說明 本指令是把累加器值存儲(chǔ)器值做邏輯或結(jié)果放到數(shù)據(jù)存儲(chǔ)器
運(yùn)算過程 ACC..ACC “OR” [m]
影響標(biāo)志位
TC2 TC1 TO PD OV Z AC C
RET 從子程序返回
說明 本指令是將堆棧寄存器中的程序計(jì)數(shù)器值送回程序計(jì)數(shù)器
運(yùn)算過程 PC .. Stack
影響標(biāo)志位
TC2 TC1 TO PD OV Z AC C
RET A, x 從子程序返回并將立即數(shù)放入累加器
說明 本指令是將堆棧寄存器中的程序計(jì)數(shù)器值送回程序計(jì)數(shù)器并將立即數(shù)送回累加器
運(yùn)算過程 PC .. Stack
ACC .. X
影響標(biāo)志位
TC2 TC1 TO PD OV Z AC C

HOLTEK 指令集說明
10
RETI 從中斷返回
說明 本指令是將堆棧寄存器中的程序計(jì)數(shù)器值送回程序計(jì)數(shù)器與RET 不同的是它使用在
中斷程序結(jié)束返回時(shí)它還會(huì)將中斷控制寄存器INTC 的0 位EMI 中斷允許位置1
允許中斷服務(wù)
運(yùn)算過程 PC .. Stack
EMI .. 1
影響標(biāo)志位
TC2 TC1 TO PD OV Z AC C
RL [m] 數(shù)據(jù)存儲(chǔ)器左移一位結(jié)果放入數(shù)據(jù)存儲(chǔ)器
說明 本指令是將數(shù)據(jù)存儲(chǔ)器內(nèi)的數(shù)值左移一位第7 位移到第0 位結(jié)果送回?cái)?shù)據(jù)存儲(chǔ)器
運(yùn)算過程 [m].0 ..[m].7, [m]. i+1 ..[m].i :i=0~6
影響標(biāo)志位
TC2 TC1 TO PD OV Z AC C
RLA [m] 數(shù)據(jù)存儲(chǔ)器左移一位結(jié)果放入累加器
說明 本指令是將存儲(chǔ)器內(nèi)的數(shù)值左移一位第7 位移到第0 位結(jié)果送到累加器而數(shù)據(jù)存
儲(chǔ)器內(nèi)的數(shù)值不變
運(yùn)算過程 ACC.0 ..[m].7, ACC. i+1 ..[m].i :i=0~6
影響標(biāo)志位
TC2 TC1 TO PD OV Z AC C
RLC [m] 帶進(jìn)位將數(shù)據(jù)存儲(chǔ)器左移一位結(jié)果放入數(shù)據(jù)存儲(chǔ)器
說明 本指令是將存儲(chǔ)器內(nèi)的數(shù)值與進(jìn)位位左移一位第7 位取代進(jìn)位標(biāo)志進(jìn)位標(biāo)志移到第
0 位結(jié)果送回?cái)?shù)據(jù)存儲(chǔ)器
運(yùn)算過程 [m]. i+1 ..[m].i :i=0~6
[m].0 ..C
C .. [m].7
影響標(biāo)志位
TC2 TC1 TO PD OV Z AC C
RLCA [m] 帶進(jìn)位將數(shù)據(jù)存儲(chǔ)器左移一位結(jié)果放入累加器
說明 本指令是將存儲(chǔ)器內(nèi)的數(shù)值與進(jìn)位位左移一位第七位取代進(jìn)位標(biāo)志進(jìn)位標(biāo)志移到第
0 位結(jié)果送回累加器
運(yùn)算過程 ACC. i+1 ..[m].i :i=0~6
ACC.0 ..C
C .. [m].7
影響標(biāo)志位
TC2 TC1 TO PD OV Z AC C

HOLTEK 指令集說明
11
RR [m] 數(shù)據(jù)存儲(chǔ)器右移一位結(jié)果放入數(shù)據(jù)存儲(chǔ)器
說明 本指令是將存儲(chǔ)器內(nèi)的數(shù)值循環(huán)右移第0 位移到第7 位結(jié)果送回?cái)?shù)據(jù)存儲(chǔ)器
運(yùn)算過程 [m].7 ..[m].0, [m].i ..[m]. i+1 : i=0~6
影響標(biāo)志位
TC2 TC1 TO PD OV Z AC C
RRA [m] 數(shù)據(jù)存儲(chǔ)器右移一位結(jié)果放入累加器
說明 本指令是將數(shù)據(jù)存儲(chǔ)器內(nèi)的數(shù)值循環(huán)右移第0 位移到第7 位結(jié)果送回累加器而數(shù)
據(jù)存儲(chǔ)器內(nèi)的數(shù)值不變
運(yùn)算過程 ACC.7 ..[m].0, ACC.i ..[m]. i+1 :i=0~6
影響標(biāo)志位
TC2 TC1 TO PD OV Z AC C
RRC [m] 帶進(jìn)位將數(shù)據(jù)存儲(chǔ)器右移一位結(jié)果放入數(shù)據(jù)存儲(chǔ)器
說明 本指令是將存儲(chǔ)器內(nèi)的數(shù)值加進(jìn)位位循環(huán)右移第0 位取代進(jìn)位標(biāo)志進(jìn)位標(biāo)志移到第
7 位結(jié)果送回存儲(chǔ)器
運(yùn)算過程 [m].i ..[m]. i+1 :i=0~6
[m]. 7 ..C
C .. [m].0
影響標(biāo)志位
TC2 TC1 TO PD OV Z AC C
RRCA [m] 帶進(jìn)位將數(shù)據(jù)存儲(chǔ)器右移一位結(jié)果放入累加器
說明 本指令是將數(shù)據(jù)存儲(chǔ)器內(nèi)的數(shù)值加進(jìn)位位循環(huán)右移第0 位取代進(jìn)位標(biāo)志進(jìn)位標(biāo)志移
到第7 位結(jié)果送回累加器數(shù)據(jù)存儲(chǔ)器內(nèi)的數(shù)值不變
運(yùn)算過程 ACC.i ..[m]. i+1 i=0~6
ACC.7 ..C
C .. [m].0
影響標(biāo)志位
TC2 TC1 TO PD OV Z AC C
SBC A,[m] 累加器與數(shù)據(jù)存儲(chǔ)器進(jìn)位標(biāo)志相減結(jié)果放入累加器
說明 本指令是把累加器值減去數(shù)據(jù)存儲(chǔ)器值以及進(jìn)位標(biāo)志的取反結(jié)果放到累加器
運(yùn)算過程 ACC..ACC+[m ]+ C
影響標(biāo)志位
TC2 TC1 TO PD OV Z AC C

HOLTEK 指令集說明
12
SBCM A,[m] 累加器與數(shù)據(jù)存儲(chǔ)器進(jìn)位標(biāo)志相減結(jié)果放入數(shù)據(jù)存儲(chǔ)器
說明 本指令是把累加器值減去數(shù)據(jù)存儲(chǔ)器值以及進(jìn)位標(biāo)志取反結(jié)果放到數(shù)據(jù)存儲(chǔ)器
運(yùn)算過程 [m]..ACC+[m]+C
影響標(biāo)志位
TC2 TC1 TO PD OV Z AC C
SDZ [m] 數(shù)據(jù)存儲(chǔ)器減1 如果結(jié)果為0 則跳過下一條指令
說明 本指令是把數(shù)據(jù)存儲(chǔ)器內(nèi)的數(shù)值減1 判斷是否為0 若為0 則跳過下一條指令即如
果結(jié)果為零放棄在目前指令執(zhí)行期間所取得的下一條指令并插入一個(gè)空周期用以取
得正確的指令二個(gè)指令周期否則執(zhí)行下一條指令一個(gè)指令周期
運(yùn)算過程 如果[m]-1=0 跳過下一條指令執(zhí)行再下一條
影響標(biāo)志位
TC2 TC1 TO PD OV Z AC C
SDZA [m] 數(shù)據(jù)存儲(chǔ)器減1 將結(jié)果放入累加器如果結(jié)果為0 則跳過下一條指令
說明 本指令是把數(shù)據(jù)存儲(chǔ)器內(nèi)的數(shù)值減1 判斷是否為0, 為0 則跳過下一行指令并將減完后
數(shù)據(jù)存儲(chǔ)器內(nèi)的數(shù)值送到累加器,而數(shù)據(jù)存儲(chǔ)器內(nèi)的值不變即若結(jié)果為0 放棄在目前
指令執(zhí)行期間所取得的下一條指令并插入一個(gè)空周期用以取得正確的指令二個(gè)指令
周期否則執(zhí)行下一條指令一個(gè)指令周期
運(yùn)算過程 如果[m]-1=0 跳過下一條指令執(zhí)行再下一條
ACC .. [m]-1
影響標(biāo)志位
TC2 TC1 TO PD OV Z AC C
SET [m] 置位數(shù)據(jù)存儲(chǔ)器
說明 本指令是把存儲(chǔ)器內(nèi)的數(shù)值每個(gè)位置為1
運(yùn)算過程 [m] .. FFH
影響標(biāo)志位
TC2 TC1 TO PD OV Z AC C
SET [m]. i 將數(shù)據(jù)存儲(chǔ)器的第i 位置1
說明 本指令是把存儲(chǔ)器內(nèi)的數(shù)值的第i 位置為1
運(yùn)算過程 [m].i ..1
影響標(biāo)志位
TC2 TC1 TO PD OV Z AC C

HOLTEK 指令集說明
13
SIZ [m] 數(shù)據(jù)存儲(chǔ)器加1 如果結(jié)果為0 則跳過下一條指令
說明 本指令是把數(shù)據(jù)存儲(chǔ)器內(nèi)的數(shù)值加1 判斷是否為0 若為0 跳過下一條指令即放棄
在目前指令執(zhí)行期間所取得的下一條指令并插入一個(gè)空周期用以取得正確的指令二
個(gè)指令周期否則執(zhí)行下一條指令一個(gè)指令周期
運(yùn)算過程 如果 [m]+1=0 跳過下一行指令[m] ..[m]+1
影響標(biāo)志位
TC2 TC1 TO PD OV Z AC C
SIZA 數(shù)據(jù)存儲(chǔ)器加1 將結(jié)果放入累加器如果結(jié)果為0 則跳過下一條指令
說明 本指令是把數(shù)據(jù)存儲(chǔ)器內(nèi)的數(shù)值加1 判斷是否為0, 若為0 跳過下一條指令即放棄在
目前指令執(zhí)行期間所取得的下一條指令并插入一個(gè)空周期用以取得正確的指令二個(gè)
指令周期并將加完后存儲(chǔ)器內(nèi)的數(shù)值送到累加器而數(shù)據(jù)存儲(chǔ)器的值保持不變否
則執(zhí)行下一條指令一個(gè)指令周期
運(yùn)算過程 如果[m]+1=0 跳過下一行指令A(yù)CC .. [m]+1
影響標(biāo)志位
TC2 TC1 TO PD OV Z AC C
SNZ [m]. i 如果數(shù)據(jù)存儲(chǔ)器的第i 位不為0 則跳過下一條指令
說明 本指令是判斷數(shù)據(jù)存儲(chǔ)器內(nèi)的數(shù)值的第i 位, 若不為0 則程序計(jì)數(shù)器再加1, 跳過下一
行指令放棄在目前指令執(zhí)行期間所取得的下一條指令并插入一個(gè)空周期用以取得正
確的指令二個(gè)指令周期否則執(zhí)行下一條指令一個(gè)指令周期
運(yùn)算過程 如果 [m].i≠0 跳過下一行指令
影響標(biāo)志位
TC2 TC1 TO PD OV Z AC C
SUB A, [m] 累加器與數(shù)據(jù)存儲(chǔ)器相減結(jié)果放入累加器
說明 本指令是把累加器值數(shù)據(jù)存儲(chǔ)器值相減結(jié)果放到累加器
運(yùn)算過程 ACC..ACC+[m ]+1
影響標(biāo)志位
TC2 TC1 TO PD OV Z AC C
SUB A, x 累加器與立即數(shù)相減結(jié)果放入累加器
說明 本指令是把累加器值立即數(shù)相減結(jié)果放到累加器
運(yùn)算過程 ACC..ACC+ X +1
影響標(biāo)志位
TC2 TC1 TO PD OV Z AC C

HOLTEK 指令集說明
14
SUBM A, [m] 累加器與數(shù)據(jù)存儲(chǔ)器相減結(jié)果放入數(shù)據(jù)存儲(chǔ)器
說明 本指令是把累加器值存儲(chǔ)器值相減結(jié)果放到存儲(chǔ)器
運(yùn)算過程 [m]..ACC+[m ]+1
影響標(biāo)志位
TC2 TC1 TO PD OV Z AC C
SWAP [m] 交換數(shù)據(jù)存儲(chǔ)器的高低字節(jié)結(jié)果放入數(shù)據(jù)存儲(chǔ)器
說明 本指令是將數(shù)據(jù)存儲(chǔ)器的低四位和高四位互換,再將結(jié)果送回?cái)?shù)據(jù)存儲(chǔ)器
運(yùn)算過程 [m].7~[m].4<-V1 . [m].3~[m].0
影響標(biāo)志位
TC2 TC1 TO PD OV Z AC C
SWAPA [m] 交換數(shù)據(jù)存儲(chǔ)器的高低字節(jié)結(jié)果放入累加器
說明 本指令是將數(shù)據(jù)存儲(chǔ)器的低四位和高四位互換再將結(jié)果送回累加器
運(yùn)算過程 ACC.3~ACC.0.. [m].7~[m].4
ACC.7~ACC.4.. [m].3~[m].0
影響標(biāo)志位
TC2 TC1 TO PD OV Z AC C
SZ [m] 如果數(shù)據(jù)存儲(chǔ)器為0 則跳過下一條指令
說明 本指令是判斷數(shù)據(jù)存儲(chǔ)器內(nèi)的數(shù)值是否為0 為0 則跳過下一行指令即放棄在目前指
令執(zhí)行期間所取得的下一條指令并插入一個(gè)空周期用以得正確的指令二個(gè)指令周
期否則執(zhí)行下一條指令一個(gè)指令周期
運(yùn)算過程 如果 [m] = 0, 跳過下一行指令
影響標(biāo)志位
TC2 TC1 TO PD OV Z AC C
SZA [m] 數(shù)據(jù)存儲(chǔ)器送至累加器如果內(nèi)容為0 則跳過下一條指令
說明 本指令是判斷存儲(chǔ)器內(nèi)的數(shù)值是否為0 若為0 則跳過下一行指令即放棄在目前指令
執(zhí)行期間所取得的下一條指令并插入一個(gè)空周期用以得正確的指令二個(gè)指令周期
并把存儲(chǔ)器內(nèi)值送到累加器而存儲(chǔ)器的值保持不變否則執(zhí)行下一條指令一個(gè)指令
周期
運(yùn)算過程 如果[m] = 0 跳過下一行指令并ACC.. [m]
影響標(biāo)志位
TC2 TC1 TO PD OV Z AC C

HOLTEK 指令集說明
15
SZ [m]. i 如果數(shù)據(jù)存儲(chǔ)器的第i 位為0 則跳過下一條指令
說明 本指令是判斷存儲(chǔ)器內(nèi)第i 位值是否為0 若為0 則跳過下一行指令即放棄在目前指
令執(zhí)行期間所取得的下一條指令并插入一個(gè)空周期用以得正確的指令二個(gè)指令周
期否則執(zhí)行下一條指令一個(gè)指令周期
運(yùn)算過程 如果 [m].i = 0 跳過下一行指令
影響標(biāo)志位
TC2 TC1 TO PD OV Z AC C
TABRDC [m] 讀取ROM 當(dāng)前頁的內(nèi)容并送至數(shù)據(jù)存儲(chǔ)器和TBLH
說明 本指令是將表格指針指向程序寄存器當(dāng)前頁將低位送到存儲(chǔ)器高位直接送到TBLH
寄存器內(nèi)
運(yùn)算過程 [m] ..程序存儲(chǔ)器低四位
TBLH..程序存儲(chǔ)器高四位
影響標(biāo)志位
TC2 TC1 TO PD OV Z AC C
TABRDL [m] 讀取ROM 最后一頁的內(nèi)容并送至數(shù)據(jù)存儲(chǔ)器和TBLH
說明 本指令是將TABLE 指針指向程序寄存器最后頁將低位送到存儲(chǔ)器高位直接送到
TBLH 寄存器內(nèi)
運(yùn)算過程 [m] ..程序存儲(chǔ)器低四位
TBLH..程序存儲(chǔ)器高四位
影響標(biāo)志位
TC2 TC1 TO PD OV Z AC C
XOR A, [m] 累加器與立即數(shù)做異或運(yùn)算結(jié)果放入累加器
說明 本指令是把累加器值 數(shù)據(jù)存儲(chǔ)器值做邏輯異或結(jié)果放到累加器
運(yùn)算過程 ACC..ACC “XOR” [m]
影響標(biāo)志位
TC2 TC1 TO PD OV Z AC C
XORM A, [m] 累加器與數(shù)據(jù)存儲(chǔ)器做異或運(yùn)算結(jié)果放入數(shù)據(jù)存儲(chǔ)器
說明 本指令是把累加器值數(shù)據(jù)存儲(chǔ)器值做邏輯異或結(jié)果放到數(shù)據(jù)存儲(chǔ)器
運(yùn)算過程 [m]..ACC “XOR” [m]
影響標(biāo)志位
TC2 TC1 TO PD OV Z AC C
XOR A, x 累加器與數(shù)據(jù)存儲(chǔ)器做異或運(yùn)算結(jié)果放入累加器
說明 本指令是把累加器值與立即數(shù)做邏輯異或結(jié)果放到累加器
運(yùn)算過程 ACC..ACC “XOR” X
影響標(biāo)志位
TC2 TC1 TO PD OV Z AC C

 

  • 上一篇: HT6221發(fā)碼的接收
  • 下一篇: HT48HT46 LCM鍵盤掃描程序
  • 發(fā)表評(píng)論   告訴好友   打印此文  收藏此頁  關(guān)閉窗口  返回頂部
    熱點(diǎn)文章
     
    推薦文章
     
    相關(guān)文章
    網(wǎng)友評(píng)論:(只顯示最新5條。)
    關(guān)于我們 | 聯(lián)系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機(jī)電之家 | 會(huì)員助手 | 免費(fèi)鏈接

    點(diǎn)擊這里給我發(fā)消息66821730(技術(shù)支持)點(diǎn)擊這里給我發(fā)消息66821730(廣告投放) 點(diǎn)擊這里給我發(fā)消息41031197(編輯) 點(diǎn)擊這里給我發(fā)消息58733127(審核)
    本站提供的機(jī)電設(shè)備,機(jī)電供求等信息由機(jī)電企業(yè)自行提供,該企業(yè)負(fù)責(zé)信息內(nèi)容的真實(shí)性、準(zhǔn)確性和合法性。
    機(jī)電之家對(duì)此不承擔(dān)任何保證責(zé)任,有侵犯您利益的地方請(qǐng)聯(lián)系機(jī)電之家,機(jī)電之家將及時(shí)作出處理。
    Copyright 2007 機(jī)電之家 Inc All Rights Reserved.機(jī)電之家-由機(jī)電一體化網(wǎng)更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術(shù)支持

    主辦:杭州市高新區(qū)(濱江)機(jī)電一體化學(xué)會(huì)
    中國行業(yè)電子商務(wù)100強(qiáng)網(wǎng)站

    網(wǎng)站經(jīng)營許可證:浙B2-20080178-1