- 12
- 0
- 约5.74万字
- 约 72页
- 2017-11-01 发布于重庆
- 举报
EMC8BIT单片机指令应用的误区与技巧
EMC8BIT单片机指令应用的误区与技巧EMC8BIT单片机从入门到精通之二:指令应用的误区与技巧
EMC的基本指令语法,其实也就57/58条,如何变化折腾,就看各位的修行造化了。但是,新手上路总容易进入一些误区,而老鸟们的一些技巧也值得借鉴。废话少说,言归正传,且看匠人娓娓道来……
??1.减法指令的误区
??? 之一:关于ACC
??? EMC的减法指令有三条,如下:??????? SUB A,R (R-A→A)??????? SUB R,A (R-A→R)??????? SUB A,K (K-A→A)??? 需要注意的是,不论A的位置在前面还是后面,A都是减数,不是被减数.
??? 也就是說如果我們想計算A-2的值,如果寫成:??????? SUB A,@2??? ??? 其實是執行2-A??? ??? 解決方法如下:??????? ADD A,@256-2 或??????? ADD A,@254???
??? 之二:关于CY
??? 一般来说,加/减法都会影响到进位标志CY.??? 在其它一些单片机指令系统中,当减法发生借位时,CY=1,未发生借位时CY=0.??? 如果你以为EMC的减法也是如此,哈哈,你就要吃药了!??? 原来,在EMC的指令系统中.当减法发生借位时,CY=0,未发生借位时CY=1.??? 如果不注意这点,很容易在一些运算或判断程序中留下BUG
?
2.查表(散转)指令的误区??? ??? 之一:关于ADD R2,A指令
??? 在EMC153/156的指令系统中,没有TBL指令(这一点要切记),当要查表时只好用ADD R2,A(或MOV R2,A)来代替??? 但是使用ADD R2,A时要注意,这条指令只能改变PC指针的低8位(即256字节),高位其它位一律清零!??? 所以使用ADD R2,A时必须保证整个表格都在ROM的每一页的前256字节区间内.(153/156只有一页)
??? 大表格的使用受到了限制,而且为了将表格挤入00H~FFH的ROM空间,程序的结构受到破坏.
???
??? 之二:关于TBL指令
??? 刚才说道,ADD R2,A指令使用的诸多不爽之处.??? 为此,EMC在447/458及后续的芯片的指令系统中,增加了一条新指令就是TBL指令.??? TBL是查表指令.号称可以放在程序的任何位置.??? 但是且慢??? TBL指令的使用也要注意如下:??? 首先,表格不能跨页(每1024字节为一页(PAGE))??? 其次,表格也不能跨段??? ??? 何为段?段是匠人自定义的一个概念:将每一页分为4段,每一段256个字节(如:00H~FFH是一段,100H~1FFH又是一段)??? ??? ??? 也就是说,每一个查表程序,除了TBL本身占用了一个字节以外表格长度必须=255字节.而且整个查表程序必须在同一段内??? ??? 这个问题真是一个大大的陷阱!??? 有时明明你的程序都已经调试好了,无意间调整了程序模块间的顺序或增加/减少了几条指令后,程序就不正常了.??? 嘿嘿,检查你的LST文件吧,八成是TBL在做怪!??? ??? 另外,TBL还是没有解决大表格的查表问题,(只好象切豆腐一样,将大表格切成一个个小于255字节的小表格去查了)
3.关于“MOV R,R”指令
??? 这是一条很奇特的指令,首先,阁下不要误认这条指令,以为它是将一个寄存器的数据送到另一个寄存器中去。匠人开始接触EMC 8bit IC时,就曾经“中招”!后经过高手指点,方得解脱——我佛慈悲,呕米脱佛!
??? 看清楚了:MOV R,R 中的两个R是同一个寄存器,而它的动作是将寄存器的内容送到本身。
??? 如果你认为这是无意义的动作,那就大错特错了。??? ??? 按匠人的经验,这条指令至少有两个用处:
用处之一:判零
??? 此指令的用意在于它能影响Zero Flag,辨别寄存器的内容是否为零。
??? 如果要辨别某一个寄存器的值是否为零,一般我们会用??????? MOV??? A,R??????? JBS??? STTS,Z??????? ; R3,Zero Flag??? 这两个指令,但是这会影响ACC原先的内容。若不要使用ACC,可能写成??????? INC??? R??????? DEC??? R??????? JBS??? STTS,Z??? 这会用到三个指令。若使用MOV R,R的指令,不仅可达成相同功能,也可减少指令数目,可说是一举两得。??????? MOV??? R,R??????? JBS??? STTS,Z
用处之二:将I/O口的外部电平状态存入锁存器???
您可能关注的文档
- (免费)安徽巢湖实习报告.doc
- (修改版)分公司经理管理中存在的问题.doc
- 000051管理系统中计算机应用重点.doc
- (笔记)项目管理流程.doc
- (华电科院)算法设计与分析实验报告—01背包问题.doc
- (本科论文范文)非公募基金会问题归因分析及对策探究.doc
- 0181广告学重点复习资料大全.doc
- 02204经济管理最新整理复习资料.doc
- 03望远镜光学特性分析及参数测量.doc
- (流水灯)彩灯控制电路的设计与制作.doc
- 浙江省温州市2024-2025学年七年级上学期语文期末考查卷.docx
- 精品解析:北京市建华实验学校2024-2025学年七年级下学期期中英语试题(原卷版).docx
- 精品解析:北京市通州区2024-2025学年七年级下学期期末考试英语试卷(原卷版).docx
- 精品解析:北京市回民学校2024-2025学年九年级上学期期中语文试题(解析版).docx
- 精品解析:北京市海淀区2025-2026学年九年级上学期期末语文试题(解析版).docx
- 精品解析:北京市东城区汇文中学2025-2026学年八年级上学期期中语文试题(原卷版).docx
- 精品解析:北京市回民学校2024-2025学年九年级上学期期中语文试题(原卷版).docx
- 精品解析:2024-2025学年广东省广州市从化区街口镇中心小学人教版五年级上册期中测试数学试卷(解析版).docx
- 精品解析:北京市通州区2024-2025学年七年级下学期期末考试英语试卷(解析版).docx
- 精品解析:北京市建华实验学校2024-2025学年七年级下学期期中英语试题(解析版).docx
最近下载
- 完整版04融创物业秩序服务可视化标准.ppt
- 统编人教部编版小学语文一年级下册语文标点符号练习+答案 .pdf VIP
- EPS系统参数及整车性能的匹配.pdf VIP
- 湖北省武汉市江岸区2023-2024学年六年级上学期语文期末试卷(含答案)2.docx VIP
- 2025年中国水性粘结剂行业市场全景调研及前景战略研判报告.docx
- EPS系统对车辆操纵稳定性影响的仿真的分析研究.pdf VIP
- 幼儿园年度工作总结卫生保健.pptx
- 职业健康管理:电力行业职业健康课件.pptx VIP
- 2026.01.01施行《招标人主体责任履行指引》PPT课件.pptx VIP
- 湖北省武汉市2022-2023学年六年级上学期语文期末试卷(含答案).pdf VIP
原创力文档

文档评论(0)