您当前的位置:五五电子网电子知识单片机-工控设备合泰单片机HOLTEK 指令集说明 正文
HOLTEK 指令集说明

HOLTEK 指令集说明

点击数:7505 次   录入时间:03-04 11:41:52   整理:http://www.55dianzi.com   合泰单片机

HOLTEK 指令集说明
指令集说明
注由于资源大小问题其中以下几款MCU 只有62 条指令其余均为63 条指令
HT48CA0/HT48RA0A 无RETI 指令
HT48R05A-1 无TABRDL 指令
指令寻址方式有下面5 种
.. 立即寻址
此一寻址法是将立即的常数值紧跟在运算码 (opcode) 后例如
MOV A, 33H
ADD A, 33H
.. 直接寻址
直接寻址的情況只允许在存储器之间作数据传送例如
MOV [33H], A
CLR [33H]
.. 间接寻址
在间接寻址方式中必定要使用到间接寻址暂存器(R0 R1) 例如
MOV R0, A
MOV A, R0
.. 特殊暂存器寻址
此一寻址方式完全是针对某一暂存器作运算例如
CLR WDT
CLR WDT1
.. 指针寻址
指针寻址只适用在配合做查表指令例如
MOV A, 02H
MOV TBLP, A

HOLTEK 指令集说明
2
指令集摘要
助记符 说明 指令
周期 影响标志位
算术运算
ADD A, [m] 累加器与数据存储器相加结果放入累加器 1 Z,C,AC,OV
ADDM A, [m] 累加器与数据存储器相加结果放入数据存储器 11 Z,C,AC,OV
ADD A, x 累加器与立即数相加结果放入累加器 1 Z,C,AC,OV
ADC A, [m] 累加器与数据存储器进位标志相加结果放入累加器 1 Z,C,AC,OV
ADCM A, [m] 累加器与数据存储器进位标志相加结果放入数据存储器 1 1 Z,C,AC,OV
SUB A, x 累加器与立即数相减结果放入累加器 1 Z,C,AC,OV
SUB A, [m] 累加器与数据存储器相减结果放入累加器 1 Z,C,AC,OV
SUBM A, [m] 累加器与数据存储器相减结果放入数据存储器 11 Z,C,AC,OV
SBC A, [m] 累加器与数据存储器进位标志相减结果放入累加器 1 Z,C,AC,OV
SBCM A, [m] 累加器与数据存储器进位标志相减结果放入数据存储器 1 1 Z,C,AC,OV
DAA [m] 将加法运算后放入累加器的值调整为十进制数并将结果放
入数据存储器 1 1 C
逻辑运算
AND A, [m] 累加器与数据存储器做与运算结果放入累加器 1 Z
OR A, [m] 累加器与数据存储器做或运算结果放入累加器 1 Z
XOR A, [m] 累加器与数据存储器做异或运算结果放入累加器 1 Z
ANDM A, [m] 累加器与数据存储器做与运算结果放入数据存储器 11 Z
ORM A, [m] 累加器与数据存储器做或运算结果放入数据存储器 11 Z
XORM A, [m] 累加器与数据存储器做异或运算结果放入数据存储器 1 1 Z
AND A, x 累加器与立即数做与运算结果放入累加器 1 Z
OR A, x 累加器与立即数做或运算结果放入累加器 1 Z
XOR A, x 累加器与立即数做异或运算结果放入累加器 1 Z
CPL [m] 对数据存储器取反结果放入数据存储器 11 Z
CPLA [m] 对数据存储器取反结果放入累加器 1 Z
递增和递减
INCA [m] 数据存储器的内容加1 结果放入累加器 1 Z
INC [m] 数据存储器的内容加1 结果放入数据存储器 11 Z
DECA [m] 数据存储器的内容减1 结果放入累加器 1 Z
DEC [m] 数据存储器的内容减1 结果放入数据存储器 11 Z
移位
RRA [m] 数据存储器右移一位结果放入累加器 1 无
RR [m] 数据存储器右移一位结果放入数据存储器 11 无
RRCA [m] 带进位将数据存储器右移一位结果放入累加器 1 C
RRC [m] 带进位将数据存储器右移一位结果放入数据存储器 11 C
RLA [m] 数据存储器左移一位结果放入累加器 1 无
RL [m] 数据存储器左移一位结果放入数据存储器 11 无
RLCA [m] 带进位将数据存储器左移一位结果放入累加器 1 C
RLC [m] 带进位将数据存储器左移一位结果放入数据存储器 11 C
数据传送
MOV A, [m] 将数据存储器送至累加器 1 无
MOV [m], A 将累加器送至数据存储器 11 无
MOV A, x 将立即数送至累加器 1 无
位运算
CLR [m]. i 将数据存储器的第i 位清0 11 无
SET [m]. i 将数据存储器的第i 位置1 11 无

HOLTEK 指令集说明
3
助记符 说明 指令
周期 影响标志位
转移
JMP addr 无条件跳转 2 无
SZ [m] 如果数据存储器为0 则跳过下一条指令 12 无
SZA [m] 数据存储器送至累加器如果内容为0 则跳过下一条指
令 1 2 无
SZ [m]. i 如果数据存储器的第i 位为0 则跳过下一条指令 12 无
SNZ [m]. i 如果数据存储器的第i 位不为0 则跳过下一条指令 12 无
SIZ [m] 数据存储器加1 如果结果为0 则跳过下一条指令 13 无
SDZ [m] 数据存储器减1 如果结果为0 则跳过下一条指令 13 无
SIZA [m] 数据存储器加1 将结果放入累加器如果结果为0 则跳
过下一条指令 1 2 无
SDZA [m] 数据存储器减1 将结果放入累加器如果结果为0 则跳
过下一条指令 1 2 无
CALL addr 子程序调用 2 无
RET 从子程序返回 2 无
RET A, x 从子程序返回并将立即数放入累加器 2 无
RETI 从中断返回 2 无
查表
TABRDC [m] 读取当前页的ROM 内容并送至数据存储器和TBLH 2 1 无
TABRDL [m] 读取最后页的ROM 内容并送至数据存储器和TBLH 2 1 无
其它指令
NOP 空指令 1 无
CLR [m] 清除数据存储器 11 无
SET [m] 置位数据存储器 11 无
CLR WDT 清除看门狗定时器 1 TO,PD
CLR WDT1 预清除看门狗定时器 1 TO 4 ,PD 4
CLR WDT2 预清除看门狗定时器 1 TO 4 ,PD 4
SWAP [m] 交换数据存储器的高低字节结果放入数据存储器 11 无
SWAPA [m] 交换数据存储器的高低字节结果放入累加器 1 无
HALT 进入暂停模式 1 TO,PD
注 x 立即数
m 数据存储器地址
A 累加器ACC
i 第0~7 位
addr 程序存储器地址
影响标志位
不影响标志位
1 如果数据是加载到PCL 寄存器则指令执行周期会被延长一个指令周期四个系统时钟
2 如果满足跳跃条件则指令执行周期会被延长一个指令周期四个系统时钟否则指令执行周期不会被延长
3 1 和2
4 如果执行CLW WDT1 或CLR WDT2 指令后看门狗定时器被清除则会影响TO 和PD 标志位否则不会影响
TO 和PD 标志位

HOLTEK 指令集说明
4
ADC A, [m] 累加器与数据存储器进位标志相加结果放入累加器
说明 本指令把累加器数据存储器值以及进位标志相加结果存放到累加器
运算过程 ACC..ACC+[m]+C
影响标志位
TC2 TC1 TO PD OV Z AC C
ADCM A, [m] 累加器与数据存储器进位标志相加结果放入数据存储器
说明 本指令把累加器数据存储器值以及进位标志相加结果存放到存储器
运算过程 [m]..ACC+[m]+C
影响标志位
TC2 TC1 TO PD OV Z AC C
ADD A, [m] 累加器与数据存储器相加结果放入累加器
说明 本指令把累加器数据存储器值相加结果存放到累加器
运算过程 ACC..ACC+[m]
影响标志位
TC2 TC1 TO PD OV Z AC C
ADD A, x 累加器与立即数相加结果放入累加器
说明 本指令把累加器值和立即数相加结果存放到累加器
运算过程 ACC..ACC+X
影响标志位
TC2 TC1 TO PD OV Z AC C
ADDM A, [m] 累加器与数据存储器相加结果放入数据存储器
说明 本指令把累加器数据存储器值相加结果放到数据存储器
运算过程 [m]..ACC+[m]
影响标志位
TC2 TC1 TO PD OV Z AC C
AND A, [m] 累加器与数据存储器做与运算结果放入累加器
说明 本指令把累加器值数据存储器值做逻辑与结果存放到累加器
运算过程 ACC..ACC “AND” [m]
影响标志位
TC2 TC1 TO PD OV Z AC C

HOLTEK 指令集说明
5
AND A, x 累加器与立即数做与运算结果放入累加器
说明 本指令把累加器值立即数做逻辑与结果存放到累加器
运算过程 ACC..ACC “AND” X
影响标志位
TC2 TC1 TO PD OV Z AC C
ANDM A, [m] 累加器与数据存储器做与运算结果放入数据存储器
说明 本指令把累加器值数据存储器值做逻辑与结果放到数据存储器
运算过程 ACC..ACC “AND” [m]
影响标志位
TC2 TC1 TO PD OV Z AC C
CALL addr 子程序调用
说明 本指令直接调用地址所在处的子程序此时程序计数器加一将此程序计数器值存到堆
栈寄存器中再将子程序所在处的地址存放到程序计数器中
运算过程 Stack..PC+1
PC .. addr
影响标志位
TC2 TC1 TO PD OV Z AC C
CLR [m] 清除数据存储器
说明 本指令将数据存储器内的数值清零
运算过程 [m] ..00H
影响标志位
TC2 TC1 TO PD OV Z AC C
CLR [m] . i 将数据存储器的第i 位清0
说明 本指令将数据存储器内第i 位值清零
运算过程 [m].i ..0
影响标志位
TC2 TC1 TO PD OV Z AC C
CLR WDT 清除看门狗定时器
说明 本指令清除WDT 计数器从0 开始重新计数暂停标志位PD 和看门狗溢出标志
位TO 也被清零
运算过程 WDT .. 00H
PD&TO .. 0
影响标志位
TC2 TC1 TO PD OV Z AC C
0 0

HOLTEK 指令集说明
6
CLR WDT1 预清除看门狗定时器
说明 必须搭配CLR WDT2 一起使用才可清除WDT 计时器从0 开始重新计数当程序
只执行过该指令没有执行CLR WDT2 时系统只会不会将暂停标志位PD 和计数
溢出位TO 清零PD 与TO 保留原状态不变
运算过程 WDT .. 00H*
PD&TO .. 0*
影响标志位
TC2 TC1 TO PD OV Z AC C
0* 0*
CLR WDT2 预清除看门狗定时器
说明 必须搭配CLR WDT1 一起使用才可清除WDT 计时器从0 开始重新计数当程序
只执行过该指令没有执行CLR WDT1 时系统只会不会将暂停标志位PD 和计数
溢出位TO 清零PD 与TO 保留原状态不变
运算过程 WDT .. 00H*
PD&TO .. 0*
影响标志位
TC2 TC1 TO PD OV Z AC C
0* 0*

[1] [2] [3]  下一页


本文关键字:暂无联系方式合泰单片机单片机-工控设备 - 合泰单片机