Microsoft Word - Ö¸Á.doc

Similar documents
M8Rxxx 指令集说明 Version 年 11 月 上海磐芯电子有限公司 SHANGHAI MASSES ELECTRONIC Co., Ltd. 本公司保留对产品在可靠性, 功能和设计方面的改进作进一步说明的权利 说明文档的更改, 恕不另行通知

1. 介绍 义隆 8 位单片机指令介绍 Application Notes 义隆 8 位单片机指令介绍 EM78/EM88 系列是基于 RISC 的精简指令微控制器, 每条指令是 13 位 15 位, 除 LCALL LJMP MOV R2,A ADD R2,A 改变 PC 指针的指令是 2 个指令

CH559指令周期.doc

Microsoft Word - sim48x050608_1v151.doc

Microsoft Word - 3-1_instruction

学习MSP430单片机推荐参考书

Microsoft Word - em78 sub program.doc

Microsoft Word - sim46x53_54av110.doc


MSP430ϵÁе¥Æ¬»úµÄÖ¸Áîϵͳ.pps [¼æÈÝģʽ]

技术相关信息

33023A.book(31005A_cn.fm)

Microsoft Word - ha0013s.doc

目录 特性...5 CPU 特性... 5 周边特性... 5 概述...5 选型表...6 方框图...6 引脚图...6 引脚说明...7 极限参数...8 直流电气特性...9 交流电气特性...10 上电复位特性...10 系统结构 时序和流水线结构 程序计数器...

2 14 PORTC.1 PORTB.3 PORTA.2/T0 GND PORTB.2 PORTA.0 PORTC.3 PORB.0/OSCO PORTB.1/OSCI PORTC.0 PORTC.2 SH69P21 /SOP PORTA

R/W

EMC单片机学习笔记.doc

共同构成 16 位数据存储单元的地址 当 CPL=1 时, 将堆栈指针 SP 的 16 位地址 与指令中的 7 位地址相加, 形成 16 位的数据存储器地址 (2) 当 SP=0100h, 偏移地址为 50h 时, 寻址 0150h 单元 ; 当 DP=2, 偏移地址为 50h 时, 寻址 0150

HOLTEK I/O 8-Bit MTP 输入 / 输出型八位可多次编程单片机初学者工具使用手册 二 五年十月 Copyright 2005 by HOLTEK SEMICONDUCTOR INC. 本使用手册版权为盛群半导体股份有限公司所有, 非经盛群半导体股份有限公司书面授权同意, 不得通过任何

DPJJX1.DOC

RESET OSCO OSCI OSC CPU WDTEN RC RESET PRESCALER PORTA (4-BITS) WATCHDOG TIMER Power on PORTB (4-BITS) PORTA [0:3] PORTB [0:3] LPD PORTC (4-BITS) LPDO

江人发2009年第49号突发事件应对法培训.doc

AVR单片机指令系统.PDF

<4D F736F F D20B5DA33D5C D A3A84CA3A9B5C4D6B8C1EECFB5CDB32E646F6378>

Microsoft Word - S153B.doc

Microsoft PowerPoint - chap5.ppt

第4章

Microsoft Word - 新1-3.doc

<4D F736F F D20B5DAC8FDCBC4D5C2D7F7D2B5B4F0B0B82E646F63>

第5章:汇编语言程序设计

PIC8位单片机汇编语言常用指令的识读(上)

AN-8203 FCM8531 用户手册

!"# $% & $%%% ( ")*+,-./00-(11.-. $%! $ " # $ % & ( - ) +%23!"# $%%% %,.%,!" $%.! 1.% & /$ 3(,. ( /0% $%%% ( $%%% ( 3 5 /6%%%! ")*+,-./00-(11

!! "!! "! "!! "! "! "!!#$% & ()*+, -./!000$ 1-2$##0! 3

DATASHEET SEARCH SITE ==

中華民國 第51屆中小學科學展覽會

<4D F736F F D20C7B0CBC4D5C2D7F7D2B5CCE22E646F6378>





Cost_Effective C Handbook

微机第02章1(指令寻址)

023 深 圳 市 融 信 软 件 技 术 有 限 公 司 SZ 深 圳 市 深 博 泰 生 物 科 技 有 限 公 司 SZ 深 圳 市 移 付 宝 科 技 有 限 公 司 SZ 深 圳 市 奥 金 瑞 科 技 有 限 公 司 SZ

Microsoft Word - IO_hb_3rd_sim.doc

目 錄 1. 蒸 豬 肉 丸 2. 蜜 汁 腰 果 3. 鳳 梨 蝦 球 4. 金 菇 扒 芥 菜 5. 松 鼠 黃 魚 6. 椒 鹽 魷 魚 7. 時 蔬 燴 蝦 丸 8. 粉 蒸 小 排 骨 9. 酥 炸 黃 魚 條 10. 彩 椒 炒 魷 魚

技术相关信息

微處理機期末專題


Avision

从 宾 馆 到 又 一 城 是 十 五 分 钟, 从 又 一 城 到 邵 逸 夫 是 十 分 钟, 去 时 一 路 上 坡 很 辛 苦, 回 时 一 路 下 坡 很 轻 松, 很 像 上 小 学 时 的 心 情, 这 是 最 初 几 天 最 深 的 感 受 有 段 时 间 很 少 走 校 内 的 路

合金投资年报正文.PDF


数据库系统概论

Application Note Format

Microsoft Word 箕æ−¥ï¼‹å®ı稿;

98年度即測即評學科測試與即測即評即發證技術士技能檢定簡章

untitled

HT46R47 f SYS =4MHz 3.3~5.5V f SYS =8MHz 4.5~5.5V 13 位双向输入 / 输出口 1 个与输入 / 输出共用引脚的外部中断输入 8 位带溢出中断的可编程定时 / 计数器 具有 7 级预分频器 石英晶体或 RC 振荡器 位的程序存储器 P

<4D F736F F D D433635CFB5C1D0B5A5C6ACBBFAD4ADC0EDBCB0BFAAB7A25F56312E322E646F63>

Microsoft Word - P3.doc

HS2303-P

外围器件-new.cdr

第 一 节 认 识 自 我 的 意 义 一 个 人 只 有 认 识 自 我, 才 能 够 正 确 地 认 识 到 自 己 的 优 劣 势, 找 出 自 己 的 职 业 亮 点, 为 自 己 的 顺 利 求 职 推 波 助 澜 ; 一 个 人 只 有 认 识 自 我, 才 能 在 求 职 中 保 持

EPROM/ROM-Based 8-Bit Microcontroller Series

Microsoft Word - 第3章.doc

目录 目录 技术相关信息... 特性... CPU 特性... 周边特性... 概述... 选型表... 2 方框图... 2 引脚图... 3 引脚说明... 4 HT48R063B... 4 HT48R064B... 5 HT48R065B, HT48R066B... 6 极限参数... 7 直

目录 1. 产品简介 功能特性 引脚图 引脚描述 中央处理器 (CPU) 程序存储器 (OTP ROM) 堆栈 数据存储器 (RAM) INDF 寄存器.

《垓下歌》 項羽

交 通 部 公 路 總 局 新 竹 區 監 理 所 104 年 第 2 次 契 約 服 務 員 甄 試 試 場 序 號 試 場 序 號 姓 名 A01 A02 A03 A04 A05 A06 A07 A08 A09 A10 A11 A12 A13 A14 A15 A16 張 齡 文 王 美 蕙 吳

2.??,,,,, ;,,,,,,,, 3.?,,?,?,

宜蘭縣風景區管理所五峰旗風景特定風景區開放行動咖啡車作業投標須知

第 二 十 七 章 一 夜 苦 熬 第 二 十 八 章 租 房 同 居 第 二 十 九 章 二 人 世 界 第 三 十 章 取 消 面 试 第 三 十 一 章 中 暑 卧 床 第 三 十 二 章 找 到 工 作 第

玻璃幕墙工程质量检验标准 JGJ/T

玻璃幕墙工程质量检验标准 JGJ/T

2



报 告 简 要 丽 江 古 城 位 于 云 南 省 西 北 部, 始 建 于 宋 末 元 初 古 城 西 北 方 30 公 里 处 是 海 拔 5596 米 的 玉 龙 雪 山 及 第 四 世 冰 川 遗 迹 丽 江 古 城 在 南 宋 时 期 就 初 具 规 模, 已 有 八 九 百 年 的 历

有 不 良 企 图 时, 就 要 立 即 躲 开 他 当 你 实 在 难 以 分 辨 对 方 是 真 心 实 意 还 是 虚 情 假 意 时, 可 向 父 母 老 师 或 周 围 较 成 熟 和 亲 近 的 朋 友 请 教, 请 他 们 帮 你 分 析 情 况, 做 出 判 断 此 时, 拒 绝 帮

內 容 及 試 題 範 例 術 科 評 量 規 範 評 分 標 準 一 (, 工 具 與 材 料 由 本 校 提 供, 考 生 無 須 自 備 ) ( 一 ) 基 本 焊 接 工 具 操 作 及 辨 識 基 本 手 工 具 設 備 ( 二 ) 測 驗 時 間 50 分 鐘 ( 三 ) 工 具 與 材

美 国 研 究

QG153中文版说明书.docx

主要内容 指令系统的一般概念 指令操作方式操作码的含义指令对操作数的要求指令执行的结果 寻址方式 指令说明 2015 年 3 月 16 日星期一 8 时 2 分 37 秒 2

79 SZ/SH/SM ONOFF SET/RST SZSHSM SET SET RST RESET ( ) ( ) SET XXXX SET XXXX XXXX RST XXXX RST XXXX XXXX 1(2) SZ3 SZ4 SH SM I000~I177 I000~I477 I000~I


AM101-1(中文)11.cdr

单片机应用编程技巧(专家:邓宏杰)

1-1 SH79F6431 A. 2( ) 9~15V ( 12V) U2 U3 3.3V SH79F B. 1(VCC/GND) SH79F6431 C. VDDIO SH79F6431 P4 P5 P0.6 P0.7 VDDIO VDDIO=5V D. 2 V 1.0

指令系统 可分成如下 6 类 : 数据传送指令 算术运算指令 逻辑运算和移位指令 串操作指令 程序控制指令 处理器控制指令 2015 年 3 月 26 日星期四 8 时 41 分 27 秒 2

本 土 天 蝗 傳 奇 - 台 灣 大 蝗 生 活 史 及 生 態 習 性 的 研 究 摘 要 台 灣 大 蝗 在 交 配 時 警 覺 性 降 低, 蝗 會 背 著 蝗 跳 到 遠 處, 但 不 會 飛, 肚 子 餓 時 會 進 食, 但 蝗 不 會 交 配 後 蝗 會 選 擇 土 質 堅 實 植

Microsoft Word - simBS83Bxx-3v120.doc

12320 专 家 在 线 前 列 腺 癌 术 后 指 标 升 高 咋 办 宝 鸡 读 者 蔡 先 生 问 : 我 今 年 78 岁 今 年 3 月 体 检 时 发 现 前 列 腺 特 异 抗 原 (PSA) 高 达 31.22, 被 诊 断 为 前 列 腺 癌, 随 后 行 根 治 术 术 后 有

Microsoft Word 養生與保健_中山大學_講義


萬里社區老人健康照護手冊

Microsoft Word - 強制汽車責任保險承保及理賠作業處理辦法 doc

Microsoft Word - 06.Understanding of Pregnancy and Birth.doc

Transcription:

指令集说明 注 由于资源大小问题 其中以下几款 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 指令集说明 指令助记符说明周期算术运算 ADD A, [m] 累加器与数据存储器相加结果放入累加器 1 Z,C,AC,OV ADDM A, [m] 累加器与数据存储器相加结果放入数据存储器 1 1 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] 累加器与数据存储器相减结果放入数据存储器 1 1 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] 累加器与数据存储器做与运算结果放入数据存储器 1 1 Z ORM A, [m] 累加器与数据存储器做或运算结果放入数据存储器 1 1 Z XORM A, [m] 累加器与数据存储器做异或运算结果放入数据存储器 1 1 Z AND A, x 累加器与立即数做与运算结果放入累加器 1 Z OR A, x 累加器与立即数做或运算结果放入累加器 1 Z XOR A, x 累加器与立即数做异或运算结果放入累加器 1 Z CPL [m] 对数据存储器取反结果放入数据存储器 1 1 Z CPLA [m] 对数据存储器取反结果放入累加器 1 Z 递增和递减 INCA [m] 数据存储器的内容加 1 结果放入累加器 1 Z INC [m] 数据存储器的内容加 1 结果放入数据存储器 1 1 Z DECA [m] 数据存储器的内容减 1 结果放入累加器 1 Z DEC [m] 数据存储器的内容减 1 结果放入数据存储器 1 1 Z 移位 RRA [m] 数据存储器右移一位结果放入累加器 1 无 RR [m] 数据存储器右移一位结果放入数据存储器 1 1 无 RRCA [m] 带进位将数据存储器右移一位结果放入累加器 1 C RRC [m] 带进位将数据存储器右移一位结果放入数据存储器 1 1 C RLA [m] 数据存储器左移一位结果放入累加器 1 无 RL [m] 数据存储器左移一位结果放入数据存储器 1 1 无 RLCA [m] 带进位将数据存储器左移一位结果放入累加器 1 C RLC [m] 带进位将数据存储器左移一位结果放入数据存储器 1 1 C 数据传送 MOV A, [m] 将数据存储器送至累加器 1 无 MOV [m], A 将累加器送至数据存储器 1 1 无 MOV A, x 将立即数送至累加器 1 无位运算 CLR [m]. i 将数据存储器的第 i 位清 0 1 1 无 SET [m]. i 将数据存储器的第 i 位置 1 1 1 无 2

助记符 说明 指令周期 转移 JMP addr 无条件跳转 2 无 SZ [m] 如果数据存储器为 0 则跳过下一条指令 1 2 无 数据存储器送至累加器如果内容为 0 则跳过下一条指 SZA [m] 1 2 无令 SZ [m]. i 如果数据存储器的第 i 位为 0 则跳过下一条指令 1 2 无 SNZ [m]. i 如果数据存储器的第 i 位不为 0 则跳过下一条指令 1 2 无 SIZ [m] 数据存储器加 1 如果结果为 0 则跳过下一条指令 1 3 无 SDZ [m] 数据存储器减 1 如果结果为 0 则跳过下一条指令 1 3 无 数据存储器加 1 将结果放入累加器如果结果为 0 则跳 SIZA [m] 过下一条指令 1 2 无 数据存储器减 1 将结果放入累加器如果结果为 0 则跳 SDZA [m] 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] 清除数据存储器 1 1 无 SET [m] 置位数据存储器 1 1 无 CLR WDT 清除看门狗定时器 1 TO,PD CLR WDT1 预清除看门狗定时器 1 TO 4,PD 4 CLR WDT2 预清除看门狗定时器 1 TO 4,PD 4 SWAP [m] 交换数据存储器的高低字节结果放入数据存储器 1 1 无 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 标志位 3

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

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

CLR WDT1 预清除看门狗定时器 说明 必须搭配 CLR WDT2 一起使用 才可清除 WDT 计时器 从 0 开始重新计数 当程序 只执行过该指令 没有执行 CLR WDT2 时 系统只会不会将暂停标志位 PD 和计数 溢出位 TO 清零 PD 与 TO 保留原状态不变 运算过程 WDT 00H* PD&TO 0* 0* 0* CLR WDT2 预清除看门狗定时器 说明 必须搭配 CLR WDT1 一起使用 才可清除 WDT 计时器 从 0 开始重新计数 当程序 只执行过该指令 没有执行 CLR WDT1 时 系统只会不会将暂停标志位 PD 和计数 溢出位 TO 清零 PD 与 TO 保留原状态不变 运算过程 WDT 00H* PD&TO 0* 0* 0* CPL [m] 对数据存储器取反结果放入数据存储器说明本指令是将数据存储器内保存的数值取反运算过程 [m] [ m ] CPLA [m] 对数据存储器取反结果放入累加器说明本指令是将数据存储器内保存的值取反后结果存放在累加器中运算过程 ACC [ m ] 6

DAA [m] 将加法运算后放入累加器的值调整为十进制数 并将结果放入数据存储器 说明 本指令将累加器高低四位分别调整为 BCD 码 如果低四位的值大于 9 或 AC=1 那 么 BCD 调整就执行对原值加 6 并且内部进位标志 AC1= AC 即 AC 求反 否则原 值保持不变 如果高四位的值大于 9 或 C=1 那么 BCD 调整就执行对原值加 6 再加 AC1 并把 C 置位 否则 BCD 调整就执行对原值加 AC1 C 的值保持不变 结果 存放到数据存储器中 只有进位标志位 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 DEC [m] 数据存储器的内容减 1 结果放入数据存储器说明本指令将数据存储器内的数值减一再放回数据存储器运算过程 [m] [m]-1 DECA [m] 数据存储器的内容减 1 结果放入累加器说明本指令将存储器内的数值减一, 再放到累加器运算过程 ACC [m]-1 HALT 进入暂停模式 说明 本指令终止程序执行并关掉系统时钟 RAM 和寄存器内的数值保持原状态 WDT 计数 器清 0 暂停标志位 PD 被设为 1 WDT 计数溢出位 TO 被清为 0 运算过程 PC PC+1 PD 1 TO 0 0 1 7

INC [m] 数据存储器的内容加 1 结果放入数据存储器说明本指令将数据存储器内的数值加一, 结果放回数据存储器运算过程 [m] [m]+1 HOLTEK 指令集说明 INCA [m] 数据存储器的内容加 1 结果放入数据存储器说明本指令是将存储器内的数值加一, 结果放到累加器运算过程 ACC [m]+1 JMP addr 无条件跳转说明本指令是将要跳到的目的地直接放到程序计数器内运算过程 PC addr MOV A, [m] 将数据存储器送至累加器说明本指令是将数据存储器内的数值送到累加器内运算过程 ACC [m] MOV A, x 将立即数送至累加器说明本指令是将立即数送到累加器内运算过程 ACC X MOV [m], A 将累加器送至数据存储器 说明 本指令是将累加器值送到数据存储器内 运算过程 [m] ACC 8

NOP 空指令 说明 本指令不作任何运算 而只将程序计数器加一 运算过程 PC PC+1 HOLTEK 指令集说明 OR A, [m] 累加器与数据存储器做或运算结果放入累加器说明本指令是把累加器数据存储器值做逻辑或结果放到累加器运算过程 ACC ACC OR [m] OR A, x 累加器与立即数做或运算结果放入累加器说明本指令是把累加器值立即数做逻辑或结果放到累加器运算过程 ACC ACC OR X ORM A, [m] 累加器与数据存储器做或运算结果放入数据存储器说明本指令是把累加器值存储器值做逻辑或结果放到数据存储器运算过程 ACC ACC OR [m] RET 从子程序返回 说明 本指令是将堆栈寄存器中的程序计数器值送回程序计数器 运算过程 PC Stack RET A, x 从子程序返回 并将立即数放入累加器 说明 本指令是将堆栈寄存器中的程序计数器值送回程序计数器 并将立即数送回累加器 运算过程 PC Stack ACC X 9

RETI 从中断返回 说明 本指令是将堆栈寄存器中的程序计数器值送回程序计数器 与 RET 不同的是它使用在 中断程序结束返回时 它还会将中断控制寄存器 INTC 的 0 位 EMI 中断允许位置 1 允许中断服务 运算过程 PC Stack EMI 1 RL [m] 数据存储器左移一位结果放入数据存储器说明本指令是将数据存储器内的数值左移一位第 7 位移到第 0 位结果送回数据存储器运算过程 [m].0 [m].7, [m]. i+1 [m].i :i=0~6 RLA [m] 数据存储器左移一位 结果放入累加器 说明 本指令是将存储器内的数值左移一位 第 7 位移到第 0 位 结果送到累加器 而数据存 储器内的数值不变 运算过程 ACC.0 [m].7, ACC. i+1 [m].i :i=0~6 RLC [m] 带进位将数据存储器左移一位结果放入数据存储器说明本指令是将存储器内的数值与进位位左移一位第 7 位取代进位标志进位标志移到第 0 位结果送回数据存储器运算过程 [m]. i+1 [m].i :i=0~6 [m].0 C C [m].7 RLCA [m] 带进位将数据存储器左移一位结果放入累加器说明本指令是将存储器内的数值与进位位左移一位第七位取代进位标志进位标志移到第 0 位结果送回累加器运算过程 ACC. i+1 [m].i :i=0~6 ACC.0 C C [m].7 10

RR [m] 数据存储器右移一位结果放入数据存储器说明本指令是将存储器内的数值循环右移第 0 位移到第 7 位结果送回数据存储器运算过程 [m].7 [m].0, [m].i [m]. i+1 : i=0~6 RRA [m] 数据存储器右移一位 结果放入累加器 说明 本指令是将数据存储器内的数值循环右移 第 0 位移到第 7 位 结果送回累加器 而数 据存储器内的数值不变 运算过程 ACC.7 [m].0, ACC.i [m]. i+1 :i=0~6 RRC [m] 带进位将数据存储器右移一位 结果放入数据存储器 说明 本指令是将存储器内的数值加进位位循环右移 第 0 位取代进位标志 进位标志移到第 7 位 结果送回存储器 运算过程 [m].i [m]. i+1 :i=0~6 [m]. 7 C C [m].0 RRCA [m] 带进位将数据存储器右移一位 结果放入累加器 说明 本指令是将数据存储器内的数值加进位位循环右移 第 0 位取代进位标志 进位标志移 到第 7 位 结果送回累加器 数据存储器内的数值不变 运算过程 ACC.i [m]. i+1 i=0~6 ACC.7 C C [m].0 SBC A,[m] 累加器与数据存储器进位标志相减结果放入累加器说明本指令是把累加器值减去数据存储器值以及进位标志的取反结果放到累加器运算过程 ACC ACC+[ m ]+ C 11

SBCM A,[m] 累加器与数据存储器进位标志相减结果放入数据存储器说明本指令是把累加器值减去数据存储器值以及进位标志取反结果放到数据存储器运算过程 [m] ACC+[ m ]+C SDZ [m] 数据存储器减 1 如果结果为 0 则跳过下一条指令说明本指令是把数据存储器内的数值减 1 判断是否为 0 若为 0 则跳过下一条指令即如果结果为零放弃在目前指令执行期间所取得的下一条指令并插入一个空周期用以取得正确的指令二个指令周期否则执行下一条指令一个指令周期运算过程如果 [m]-1=0 跳过下一条指令执行再下一条 SDZA [m] 数据存储器减 1 将结果放入累加器如果结果为 0 则跳过下一条指令说明本指令是把数据存储器内的数值减 1 判断是否为 0, 为 0 则跳过下一行指令并将减完后数据存储器内的数值送到累加器, 而数据存储器内的值不变即若结果为 0 放弃在目前指令执行期间所取得的下一条指令并插入一个空周期用以取得正确的指令二个指令周期否则执行下一条指令一个指令周期运算过程如果 [m]-1=0 跳过下一条指令执行再下一条 ACC [m]-1 SET [m] 置位数据存储器说明本指令是把存储器内的数值每个位置为 1 运算过程 [m] FFH SET [m]. i 将数据存储器的第 i 位置 1 说明本指令是把存储器内的数值的第 i 位置为 1 运算过程 [m].i 1 12

SIZ [m] 数据存储器加 1 如果结果为 0 则跳过下一条指令说明本指令是把数据存储器内的数值加 1 判断是否为 0 若为 0 跳过下一条指令即放弃在目前指令执行期间所取得的下一条指令并插入一个空周期用以取得正确的指令二个指令周期否则执行下一条指令一个指令周期运算过程如果 [m]+1=0 跳过下一行指令 [m] [m]+1 SIZA 数据存储器加 1 将结果放入累加器如果结果为 0 则跳过下一条指令说明本指令是把数据存储器内的数值加 1 判断是否为 0, 若为 0 跳过下一条指令即放弃在目前指令执行期间所取得的下一条指令并插入一个空周期用以取得正确的指令二个指令周期并将加完后存储器内的数值送到累加器而数据存储器的值保持不变否则执行下一条指令一个指令周期运算过程如果 [m]+1=0 跳过下一行指令 ACC [m]+1 SNZ [m]. i 如果数据存储器的第 i 位不为 0 则跳过下一条指令说明本指令是判断数据存储器内的数值的第 i 位, 若不为 0 则程序计数器再加 1, 跳过下一行指令放弃在目前指令执行期间所取得的下一条指令并插入一个空周期用以取得正确的指令二个指令周期否则执行下一条指令一个指令周期运算过程如果 [m].i 0 跳过下一行指令 SUB A, [m] 累加器与数据存储器相减结果放入累加器说明本指令是把累加器值数据存储器值相减结果放到累加器运算过程 ACC ACC+[ m ]+1 SUB A, x 累加器与立即数相减结果放入累加器说明本指令是把累加器值立即数相减结果放到累加器运算过程 ACC ACC+ X +1 13

SUBM A, [m] 累加器与数据存储器相减结果放入数据存储器说明本指令是把累加器值存储器值相减结果放到存储器运算过程 [m] ACC+[ m ]+1 HOLTEK 指令集说明 SWAP [m] 交换数据存储器的高低字节结果放入数据存储器说明本指令是将数据存储器的低四位和高四位互换, 再将结果送回数据存储器运算过程 [m].7~[m].4<-v1 [m].3~[m].0 SWAPA [m] 交换数据存储器的高低字节 结果放入累加器 说明 本指令是将数据存储器的低四位和高四位互换 再将结果送回累加器 运算过程 ACC.3~ACC.0 [m].7~[m].4 ACC.7~ACC.4 [m].3~[m].0 SZ [m] 如果数据存储器为 0 则跳过下一条指令说明本指令是判断数据存储器内的数值是否为 0 为 0 则跳过下一行指令即放弃在目前指令执行期间所取得的下一条指令并插入一个空周期用以得正确的指令二个指令周期否则执行下一条指令一个指令周期运算过程如果 [m] = 0, 跳过下一行指令 SZA [m] 数据存储器送至累加器 如果内容为 0 则跳过下一条指令 说明 本指令是判断存储器内的数值是否为 0 若为 0 则跳过下一行指令 即放弃在目前指令 执行期间所取得的下一条指令 并插入一个空周期用以得正确的指令 二个指令周期 并把存储器内值送到累加器 而存储器的值保持不变 否则执行下一条指令 一个指令 周期 运算过程 如果 [m] = 0 跳过下一行指令 并 ACC [m] 14

SZ [m]. i 如果数据存储器的第 i 位为 0 则跳过下一条指令说明本指令是判断存储器内第 i 位值是否为 0 若为 0 则跳过下一行指令即放弃在目前指令执行期间所取得的下一条指令并插入一个空周期用以得正确的指令二个指令周期否则执行下一条指令一个指令周期运算过程如果 [m].i = 0 跳过下一行指令 TABRDC [m] 读取 ROM 当前页的内容 并送至数据存储器和 TBLH 说明 本指令是将表格指针指向程序寄存器当前页 将低位送到存储器 高位直接送到 TBLH 寄存器内 运算过程 [m] 程序存储器低四位 TBLH 程序存储器高四位 TABRDL [m] 读取 ROM 最后一页的内容 并送至数据存储器和 TBLH 说明 本指令是将 TABLE 指针指向程序寄存器最后页 将低位送到存储器 高位直接送到 TBLH 寄存器内 运算过程 [m] 程序存储器低四位 TBLH 程序存储器高四位 XOR A, [m] 累加器与立即数做异或运算结果放入累加器说明本指令是把累加器值数据存储器值做逻辑异或结果放到累加器运算过程 ACC ACC XOR [m] XORM A, [m] 累加器与数据存储器做异或运算结果放入数据存储器说明本指令是把累加器值数据存储器值做逻辑异或结果放到数据存储器运算过程 [m] ACC XOR [m] XOR A, x 累加器与数据存储器做异或运算结果放入累加器说明本指令是把累加器值与立即数做逻辑异或结果放到累加器运算过程 ACC ACC XOR X 15