- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
PIC汇编指令集概述
PIC汇编指令集概述
2010-8-4 16:23:39
PIC单片机(Peripheral Interface Controller)是一种用来开发的去控制外围设备的集成电路(IC),翻译为外设接口控制器。PIC 意思确实有点奇怪,不知道的话第一个P肯定翻译为Programable(可编程)的。
目前我接触的基本都是8位的CPU,包括AVR,PIC等系列,之前我写的程序都是以C语言去写的,也从未出现过什么问题,虽然很多人说道C语言的BUG问题,我一直都不是很在意,就目前为止我从未遇到过这种问题,用AVR-GCC写的时候也曾经出现过问题,也怀疑过C语言和编译器,最终事实证明是错的,一直都是我们没有注意的语法问题的造成的。接触PIC后我开始用起了他的汇编,原因无它,只是大家都在用汇编。
这是发表的第二篇文章,处女篇给了梦梦哈,首先介绍一下PIC的单片机,PIC单片机是基于哈弗结构的精简指令集(RISC)的单片机,没啥说的,很多单片机都是的。特殊的地方就是他的指令和存储器结构,一直有个问题到底是他的指令结构决定的他的存储器结构,还是存储器结构决定的指令结构? PIC8位机分为低中高三个档子,低档次的是PIC12系列的,指令是以12BIT结构编码的,对应的指令集有33条指令;中档的CPU是PIC16系列,指令集包含35条指令,并且是以14BIT的结构编码的;高档次的PIC18系列包含58条指令,每条指令是以16BIT结构编码的。并且所有指令向下兼容。
PIC指令的语法和其他系列的一样,都是有以下几部分组成的:标号 操作码助记符 操作数1? 操作数2? ;注释
1。关于标号,没啥说的,和其他单片机一样,它表示一个地址,标号也是可选的,不是所有的指令都需要的,只有在被其他语句引用时才需的,在没有标号的情况下,操作码助记符前必须保留一个或以上的空格再去写指令助记符,一般使用一个TAB,如果没有标号,而操作码助记符占用了标号的位置,汇编器会把指令助记符当做标号来处理。标号必须以字母或者半角下划线开头,后面可以跟数字字符,字母等。再有不可以使用助记符当做标号,标号可以单独占用一行。还有就是标号后可以有冒号(:),也可以没有,依个人喜好而定,只是我喜欢加上,看起来舒服,清晰。
2。操作码助记符是必选项,该项可以是指令助记符、宏汇编或者伪指令组成。其作用是汇编器在汇编的时候可以通过“助记符”和“操作码表”比较,找到其相应的机器码一一代替。
3。操作数由操作数的数值或者以标号表示的数值或者地址值组成;若操作数有两个,他们之间必须用“,”隔开。当操作数是常数的时候,可以是二进制,8进制,10进制或者16进制的数,还可以是定义过的标号,字符串或者ASCII码。当以常数表示的时候,二进制要冠以B开头,8进制以O开头,10进制以D开头,16进制冠以H,“H”也可以放至最后,PIC的编译器默认是以16进制表示的,16进制也可以以0x表示。在此提醒大家一点,程序中的一种进制当有几种表示方式时,最好从头到尾以一种格式表示。操作数项也是可选的,
4。注释是可选的,用来对程序做出说明,便于阅读和后期的维护。注释用“;”区分,后面的语句不被编译。需要说明的是,子函数前应说明入口条件,出口条件和函数功能等信息。当函数用到特别的算法的时候也需要说明算法原理等,便于后期修改和阅读。
以PIC16系列CPU为例介绍PIC的指令集系统:
PIC16系列具有35条指令,所有指令依据面向的对象可以分为3大类:面向字节操作类、面向位操作类、面向常数和控制操作类。如下图所示
?
1。ADDWF f, d,f寄存器内容与W寄存器相加,d=1时结果放在f,d=0是结果在W,影响STATUS的C,DC和Z标志。该条指令影响的状态与MCS51一致,有进位时C=1,有半进位时DC=1;否则相反。结果为0时Z标志置位。
2。ANDWF f, d,f寄存器内容与W寄存器相与,d=1时结果回存至f,d=0时结果存至W,结果影响STATUS的Z标志位。
3。CLRF ( CLEAR File Register), 清空页寄存器,STATUS的Z标志位置位
4。CLRW (CLEAR WREG),清空W寄存器,STATUS的Z标志位置位,可以用MOVLW 0H等同使用
5。COMF f, d,f寄存器内容取反,d=1时结果存至f寄存器,d=0时结果存至W寄存器。影响Z标志位。
6。DECF f, d,f寄存器内容自减1,d=1时结果存放于f;d=0时结果存放于w,影响STATUS的Z标志位。
7。DECFSZ f, d f寄存器内容自减1,为0则跳行,d=1时结果在f寄存器;d=0时结果在W寄存器。不影响标志位。
8。INCF f, d,f寄存器内容自加1,d=1时结果回存至f,d=0时结果在W。影响
您可能关注的文档
- 公务员考试面试官的经验.doc
- 管理学基础考试.doc
- 《聆听音乐》4.doc
- 给一年级新生家长的建议.doc
- 中国教育简史参考答案1.doc
- 文综模板.doc
- 八下语文练习册答案 人教版 txt版本.doc
- 九年级成长资源下册答案.doc
- 七年自主学习指导语文答案.doc
- 高科技分享.doc
- 剧本杀行业报告:内容创作规范与剧本市场拓展策略.docx
- 剧本杀行业区域市场区域文化特色与市场潜力分析报告.docx
- 剧本杀行业区域市场拓展实战案例研究.docx
- 剧本杀行业区域市场拓展路径与模式探索报告.docx
- 剧本杀行业区域市场竞争态势与品牌差异化策略研究报告.docx
- 剧本杀行业2025年西北区域市场市场细分领域竞争态势与品牌竞争策略分析研究报告.docx
- 剧本杀行业2025年西北市场拓展前景预测报告.docx
- 剧本杀行业2025年长沙市场发展潜力分析报告.docx
- 剧本杀行业2025年长三角市场竞争策略与布局分析.docx
- 医疗行业数据合规:2025年数据安全法实施后的合规监管挑战与应对.docx
文档评论(0)