- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第3章 HC08 CPU_HCS08 CPU
第3章 HC08/S08/RS08 CPU
HC08 CPU有5个寄存器、16种寻址方式、140条基本指令(加上寻址方式可形成270条具体指令),这是学习08汇编语言的基础。本章从程序员角度介绍HC08 CPU的编程结构、寻址方式、指令系统。为方便学习,对HC08 CPU的270条具体指令进行了统一编号。由于HCS08 CPU指令集是HC08 CPU扩充,因此给出了其扩充指令。RS08 CPU指令集是HCS08 CPU指令集的精简版,本章也给出简要介绍。本章还给出了08汇编语言的格式、伪指令。
08汇编语言是学习08系列MCU的重要基础之一,学好汇编语言有助于进行底层编程、有助于理解编程结构。轻视汇编语言学习与编程,是不正确的学习方法。实际上,学习08汇编语言并不困难,关键是掌握其要领。这些基本要领是:掌握CPU内部5个寄存器的使用方法、理解16种寻址方式、记住常用指令、进行编程实践。
本章的重点有四:(1)HC08 CPU的寄存器A、X、HX、CCR、PC、SP。主要理解HX作为变址寄存器的用法,理解SP采用递减结构;(2)HC08 CPU的寻址方式。理解CPU的寻址方式对理解和记忆汇编指令很有帮助。(3)HC08 CPU的指令系统。虽然短时间内难以记住指令系统,但是当作英语单词进行一定的记忆,对随后看懂程序很有好处。建议重点记忆指令系统简表。(4)08汇编语言基础。必须了解汇编语言的结构和掌握基本伪指令,才能进行汇编入门。对于汇编程序的基本入门,是学习嵌入式系统的基础之一。一点汇编程序都不理解,难于真正理解嵌入式系统的底层开发。
对于HCS08 CPU和RS08 CPU,要求基本了解其与HC08 CPU的区别。HC08 CPU和HCS08 CPU差别较小,指令、寻址方式基本相同,HCS08 CPU只是比HC08 CPU多了几条指令。RS08 CPU是HCS08 CPU的简化版本,其CPU变化较大,寻址方式、指令系列都有所精简及优化。
3.1 HC08 CPU基本构成
M68HC08系列单片机的各种型号的CPU均使用HC08 CPU,有时也将HC08 CPU称为CPU08,它具有如下主要特点:
①目标代码与M68HC05系列单片机向上兼容。
②具有16位堆栈指针SP。
③具有16位变址寄存器HX。
④8MHz CPU内部总线频率。
⑤64KB程序/数据存储器空间。
⑥16种寻址方式。
⑦不经过累加器A的存储器之间数据直接传送。
⑧快速8位×8位乘法指令、快速16位与8位相除指令,增强的BCD指令。
⑨模块化结构,可扩展的内部总线定义可使寻址范围超过64KB。
⑩低功耗的STOP、WAIT模式。
下面主要对CPU中的寄存器功能进行介绍。从编程角度来说,它代表CPU的结构,即寄存器是程序员能够直接“看到”的CPU结构。至于算术逻辑部件(ALU)的功能与一般计算机含义相同,在此略。
HC08 CPU中有5个寄存器:累加器A、变址寄存器HX、堆栈指针SP、程序计数器PC和条件码寄存器CCR。这5个寄存器与端口部件的寄存器不同,它们可以被指令直接执行或被控制器直接控制,不需要像端口部件寄存器那样通过存储器映射方式进行读/写。5个寄存器的结构示意图见图3-1。
图3-1 HC08 CPU的寄存器 (1) 累加器A(Accumulator)
累加器A是8位通用寄存器,用来存放操作数和运算结果。数据读取时,累加器A用于存放从存储器读出的数据;数据写入时,累加器A用于存放准备写入存储器的数据。在执行算术、逻辑操作时,累加器首先存放一个操作数,执行完毕时累加器存放操作结果。累加器A是指令系统中最灵活的一个寄存器,各种寻址方式均可对之寻址。复位时,累加器A的内容不受影响。
(2) 变址寄存器HX(Index Register)
HC08 CPU的变址寄存器HX是16位寄存器,H是高8位,X是低8位,可单独使用。变址寄存器HX主要用于变址寻址方式中确定操作数的地址,也可以用来存放临时数据,作为一般寄存器使用。复位时,高8位被清零。
(3) 堆栈指针SP(Stack Pointer)
SP是指向下一个栈地址的16位寄存器,堆栈指针SP采用递减的结构,即进栈时SP减1,出栈时SP加1。复位时,SP的初值为$00FF(前置符号$表示十六进制数,下同)。栈指针复位指令(RSP)可将SP的低8位置为$FF,而不影响高8位。
在堆栈指针作为8位或16位的偏移量寻址方式中,SP充当变址寄存器功能,CPU利用SP的内容确定操作数的有效地址。
(4) 程序计数器PC(Program Counter)
程序计数器PC也是16位的,可寻址范围达64KB。PC存放下一条指令的地址,在执行转移指令时存放转移地址,在执行中断指令时存放中断子程序入
您可能关注的文档
最近下载
- 冶金安全培训课件.pptx VIP
- Yamaha 雅马哈 乐器音响 MG10XU_MG10X_MG10 Owner's Manual 用户手册.pdf
- CANoe--快速入门教程.pdf VIP
- 示波表常用软件使用说明.pdf VIP
- 《数学广角—沏茶问题》说课稿.doc VIP
- 十年高考语文真题分项汇编专题06文言文阅读(人物传记类)原卷版+解析版.docx VIP
- (推荐!)2025北京中考真题语文试题及答案.pdf VIP
- 道德与法治一年级上册第二单元 校园生活真快乐 大单元整体学历案教案 教学设计附作业设计(基于新课标教学评一致性).docx VIP
- 儿童呕吐腹泻家庭护理ppt.pptx
- 2025北京中考真题语文试题及答案.doc VIP
文档评论(0)