null第三章
HC08/S08/RS08 CPU 第三章
HC08/S08/RS08 CPU
主要
内容
财务内部控制制度的内容财务内部控制制度的内容人员招聘与配置的内容项目成本控制的内容消防安全演练内容
HC08 CPU基本构成
寻址方式
指令系统
HCS08 CPU与HC08 CPU的比较
RS08 CPU简介
08汇编语言基础 3.1 HC08 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模式。3.1 CPU12基本构成3.1 CPU12基本构成HC08中有5个寄存器:
3.2 寻址方式3.2 寻址方式指令是对数据的操作,通常把指令中所要操作的数据称为操作数,HC08 CPU所需的操作数可能来自:寄存器、指令代码、存储单元。而确定指令中所需操作数的各种方法称为寻址方式(Addressing Mode)。寻址方式越多,指令系统的功能就越强,灵活性也越大。MC68HC08系列单片机的寻址方式共有16种,比MC68HC05单片机增加了8种。 3.2 寻址方式3.2 寻址方式内在寻址方式(INH,Inherent addressing mode)
立即寻址方式(IMM,Immediate addressing mode)
直接寻址方式(DIR,Direct addressing mode)
扩展寻址方式(EXT,Extended addressing mode)
无偏移量变址方式(IX,Indexed, no offset addressing mode)
八位偏移量变址方式(IX1,Indexed,8-bit offset addressing mode)
十六位偏移量变址方式(IX2,Indexed,16-bit offset addressing mode)
相对变址寻址方式(REL, Relative addressing mode)
存储器:直接地址—直接地址寻址方式(DD)
存储器:直接地址—变址、变址加1的寻址方式(DIX+)
存储器:立即数—直接地址寻址方式(IMD)
存储器:变址—直接地址、变址加1的寻址方式(IX+D)3.3 指令系统3.3 指令系统 CPU的功能是从外部设备获得数据,通过加工、处理,再把处理结果送到CPU的外部世界。
设计
领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计
一台计算机,首先需要设计一套可以执行特定功能的操作命令,这种操作命令称为指令。CPU所能执行的各种指令的集合,称为该微处理器的指令系统。设计一种微处理器,一般从设计它的指令系统开始。指令系统因机器不同而不同。HC08 CPU共有118个保留字,加上寻址方式形成了270条具体指令,比HC05 CPU增加了78条指令。为了方便学习,将这些指令分为数据传送、算术运算、逻辑运算、位操作、移位、程序控制及其它等七类。本节分别介绍这些指令,并对每条具体指令进行统一编号。 3.3.1 数据传送类指令 3.3.1 数据传送类指令 数据传送类指令 取数指令
存数指令
堆栈操作指令
寄存器间数据传送指令
存储器间数据传送指令
3.3.2 算术运算类指令 3.3.2 算术运算类指令 算术运算类指令 加、减指令 乘/除法指令 加1/减1指令 取反/求补指令 比较指令 清零指令 测试是否为0指令 SP与HX增加指令 3.3.3 逻辑运算类指令
3.3.3 逻辑运算类指令
逻辑运算类指令
与运算
或运算
异或运算
3.3.4 位操作类指令 3.3.4 位操作类指令 位操作类指令3.3.5 移位类指令 3.3.5 移位类指令
单向移位指令
在算术左移ASL指令中,ASLA、ASLX是对A、X进行左移,其它指令是对存储器单元的内容左移。它把8位操作数左移一位,首先将b7位移入C中,其它左移一位,0移入b0,相当于操作数乘以2。ASL指令与逻辑左移指令LSL功能完全相同,只是同一功能的不同名称。
算术右移指令ASR指令比较特别,它把要操作的字节当作有符号数,而符号位(b7)保持不变,其它位右移一位,即首先将b0位移入C中,其它位(b1~b6)右移一位,相当于操作数除以2。为保证符号不变,ASR指令使符号位b7返回本身。逻辑右移指令LSR把8位操作数右移一位,首先将b0位移入C中,其它右移一位,0移入b7。
null单向移位指令(1)
null 单向移位指令(2)
循环移位指令
循环移位指令
3.3.6 程序控制类指令 3.3.6 程序控制类指令 一般转移指令
常用的一般转移指令包括:
标志位测试转移指令
无符号数比较转移指令
有符号数比较转移指令
位测试转移指令
无条件相对转移指令
特殊转移指令
特殊转移指令
特殊转移指令 跳转指令
跳转指令
3.3.7 其它指令 3.3.7 其它指令 中断指令
二~十进制编码指令
特殊指令
3.4 HCS08 CPU与HC08 CPU的比较3.4 HCS08 CPU与HC08 CPU的比较 MCS08系列单片机的内核使用HCS08 CPU。与HC08 CPU相比,HCS08 CPU速度更快,内部总线频率由最高8MHz提高到20MHz,即执行一条基本指令的时间是50ns。
从HC08 CPU可以自然过渡到HCS08 CPU,这就是本节比较的目的。在未来一段时间内,HC05将逐步淘汰,HC08将逐渐发展,HCS08也将逐渐发展,根据实际需要,可以在HC08与HCS08系列内选型,使用上不会有什么困难。3.4 HCS08 CPU与HC08 CPU的比较3.4 HCS08 CPU与HC08 CPU的比较 HCS08 CPU与指令集只是在HC08 CPU指令集基础上增加了以下几条指令 :
对LDHX指令,增加了EXT、IX、IX1、IX2、SP1寻址方式
对STHX、CPHX增加了EXT、SP1寻址方式
增加了BGND(background)指令,用于调试3.5 RS08 CPU简介3.5 RS08 CPU简介3.5.1 RS08 CPU和RAM的寄存器 RS08的内核中只有一个8位的累加器A,两个14位的程序计数器PC及SPC,以及一个2位的条件码寄存器
3.5.2 RS08分页
方案
气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载
3.5.2 RS08分页方案3.5.2 RS08分页方案 RS08的分页方案示意图 3.5.3 RS08的寻址方式3.5.3 RS08的寻址方式3.5.3 RS08的寻址方式 RS08的CPU有九种不同寻址方式:
第一种是隐含寻址。
第二种寻址方式为立即寻址。
第三种是直接寻址方式。
第四种是小型寻址方式。
第五种是短型寻址方式。
第六种是相对寻址方式。
第七种是扩展寻址方式。
第八种是变址寻址方式。
第九种是存储器到存储器寻址方式。3.5.4 RS08的子程序调用3.5.4 RS08的子程序调用3.5.4 RS08的子程序调用 3.5.5 RS08的指令集3.5.5 RS08的指令集3.5.5 RS08的指令集
3.5.5 RS08的指令集3.5.5 RS08的指令集3.6 08汇编语言基础3.6 08汇编语言基础能够在单片机内直接执行的指令序列是机器语言。
用助记符号来表示机器指令便于记忆,这就形成了汇编语言。
把汇编语言写成的源程序“翻译”成机器语言的工具叫编译器。
为了能够正确地产生目标代码以及方便汇编语言的编写,编译器还提供
了一些在汇编时使用的命令、操作符号,这些命令仅是为了更好地做好
“翻译”工作,并不产生具体的机器指令,因此这些指令被称为伪指令。
3.6.1 08汇编源程序格式3.6.1 08汇编源程序格式汇编语言源程序以行为单位进行设计,每一行最多可以包含以下四个部分:3.6.1 08汇编源程序格式3.6.1 08汇编源程序格式标号必须从第一列开始书写
可以组成标号的有:A~Z、a~z、0~9、“_”、“$”,但开头的第一个
符号不能为数字和$
08编译器区分标号中字母的大小写
标号长度基本上不受限制
标号后必须带冒号“:”或双冒号“::”
一个标号在一个程序中只能定义一次
一行语句可以只有标号 标号 操作码 指令码
伪指令码
3.6.1 08汇编源程序格式3.6.1 08汇编源程序格式 操作数 常数
“#”表示立即数
圆点”.”符号
星号”*”符号
内存块的使用
字符串
伪运算符
操作数 用”;”
用”//”
3.6.2 08伪操作指令 3.6.2 08伪操作指令 存储区定义伪指令
常数定义伪指令 赋值伪指令3.6.2 08伪操作指令 3.6.2 08伪操作指令 文本替代符伪指令
指令存储定位伪指令 文件包含伪指令3.6.2 08伪操作指令 3.6.2 08伪操作指令 宏定义伪指令
宏调用伪指令3.6.2 08伪操作指令 3.6.2 08伪操作指令 定义存储区域伪指令 定义字符串伪指令