




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、同济大学电子科学与技术系第三章 寻址方式与指令系统第一讲 寻址方式同济大学电子科学与技术系主要内容寻址方式指令系统数据传送类指令算术运算类指令逻辑运算类指令位操作类指令移位类指令程序控制类指令其它指令同济大学电子科学与技术系参考资料同济大学电子科学与技术系指令与寻址指令:对数据的操作。操作数:指令中要操作的数据。 寻址:寻找指令执行所需的操作数。寻址方式:寻找指令执行所需的操作数的方式。MC68HC08系列:16种寻址方式 比HC05增加了8种140条基本指令 比HC05增加了78条270条具体指令同济大学电子科学与技术系主要内容寻址方式指令系统数据传送类指令算术运算类指令逻辑运算类指令位操作
2、类指令移位类指令程序控制类指令其它指令1、内在寻址INH内在寻址 INH, Inherent addressing mode指令中已经包含了操作数所在之处,它无须存储器存储,内在寻址指令是没有明显之处操作数的指令,操作数由指令隐含。具有隐含寻址方式的指令均为单字节指令。这类指令只是在执行内在的数据操作。INCA;累加器A内容加1INCX; 变址寄存器X内容加1DECA;累加器A内容减1DECX; 变址寄存器X内容减1CLI; 中断屏蔽位I清0SEI; 中断屏蔽位I置12、立即寻址IMM在指令中直接给出操作数。立即寻址指令通常把立即数和累加器内容或变址寄存器内容进行操作。这种指令是二字节指令,第
3、一个字节为操作码,第二字节为立即数。在立即寻址方式中操作数为立即数。立即数前要加符号前缀“#”,说明是操作数值而不是地址。立即寻址 IMM Immediate addressing modeLDA #%01011010 ;将二进制数01011010送累加器A,%表示后面的操作数是二进制数。ADD #$30 ;将累加器A的内容与立即数$30进行不带进位加运算,结果存至A,$表示后面的操作数为16进制数。LDHX #$8030 ;给变址寄存器H:X赋值$8030,执行后H的(H)=$80,(X)=$303、直接寻址DIR直接寻址 DIR, Direct addressing mode指令的第一个字
4、节是操作码,第二个字节是操作数地址。直接寻址指令为二字节指令。在直接寻址中,CPU自动把$00作为操作数高位地址,第二个字节为操作数的低位地址,由此直接寻址方式的寻址范围在$0000$00FF。STA $40;将累加器A中的值送$40单元LDA $40;将$40单元内容送累加器A中LDA #$7FSTA $40LDA $40STA $40A$40$7F$7FLDA $40A$40$7F$7F4、扩展寻址EXT扩展寻址 EXT, Extended addressing mode第一个字节是操作码,第二个字节是操作数的高字节地址,第三个字节是低字节地址。扩展寻址指令为三字节指令,寻址范围在$000
5、0$FFFF,相对于直接寻址方式,它的寻址范围广得多。LDA $0200;将$0200单元内容送累加器ASTA $0200;将累加器A的内容送$0200单元5、变址寻址_无偏移量变址寻址IX无偏移量变址寻址 IX , Indexed, no offset addressing mode操作数的有效地址在变址寄存器H:X中。由于H:X为16位,可对$0000$FFFF地址进行寻址。无偏移量变址寻址指令为单字节指令。LDA , X;将H:X指定的存储单元的内容送AH:X起到16位指针的作用0242$7FLDA ,XAHX$0240$0241$0242$0243$0244$7F6、变址寻址_8位偏移
6、量变址寻址IX18位偏移量变址寻址IX1, Indexed, 8-bit offset addressing modeCPU把变址寄存器H:X的内容和指令第二个字节内容相加,求和便是操作地址。8位偏移量变址寻址指令为双字节指令,可对$0000$FFFF地址进行寻址 。LDA $10, X;将H:X中的值加上偏移量$10所得地址的存储单元的内容送A$7FLDA $10,X偏移量为$10H:X内容不变0200AHX$0200$0201$020F$0210$7F7、变址寻址_16位偏移量变址寻址IX216位偏移量变址寻址IX2, Indexed, 16-bit offset addressing m
7、odeCPU把变址寄存器H:X的内容和指令第二、三个字节内容相加,得到的和是操作地址。16位偏移量变址寻址指令为三字节指令,可对$0000$FFFF地址进行寻址。LDA $100, X;将H:X中的值加上偏移量$100所得地址的存储单元的内容送A$7FLDA $100,X偏移量为$100H:X内容不变0100AHX$0100$0101$020F$0200$7F变址寻址变址寻址以H:X作为指针无偏移量变址寻址(IX) STA , X 8位偏移量变址寻址 (IX1) ADD $10, X16位偏移量变址寻址(IX2) AND $1030, X 如(H:X)=$1030 操作数地址为$1030$10
8、40$2060堆栈堆栈由栈区和堆栈指针构成。栈区是一组按后进先出(LIFO)方式工作的寄存器或存储单元,用于存放数据。堆栈指针(SP)是用来指示栈顶地址的寄存器,用于自动管理栈区,指示数据存入(进栈)或取出(出栈)的位置。$0100$00FF$00FE$00FD$00FCSPA$0100$00FFB$00FE$0100$00FF$00FE$00FD$00FCSP$00FEBA$00FF$0100堆栈类型硬件堆栈:栈区由微处理器内部的寄存器组构成。软件堆栈:由软件在内存中开辟一个特定的RAM区构成栈区。堆栈指针用来指示栈顶(底)位置,可由用户设初值,一旦设定后栈底位置即确定,此后SP内容即栈顶位
9、置由CPU自动管理。随着堆栈操作的进行,SP的值会自动变化,其变化方向因栈区的编址方式分为向下增长型和向上增长型。向下增长型堆栈: 数据进栈时,SP自动减量,向上浮动而指向 新栈顶。数据出栈时,SP自动增量,向下浮动指向新栈顶。M68HC08就是向下增长型。向上增长型堆栈与之相反。堆栈主要用于中断处理和子程序调用。堆栈寻址堆栈寻址是将堆栈指针作变址寄存器使用的变址寻址方式。堆栈指针是16位寄存器,因此堆栈寻址有8位偏移量(SP1)和16位偏移量(SP2)两种方式。8、8位偏移量堆栈变址寻址SP18位偏移量堆栈变址寻址SP1, Stack pointer, 8-bit offset addres
10、sing mode把指令给出的8位直接地址与堆栈指针(SP)相加形成操作数的地址。8位偏移量堆栈变址寻址指令为三字节指令,可对$0000$FFFF地址进行寻址 。LDA $10, SP;将SP中的值加上偏移量$10所得地址的存储单元的内容送A$7FLDA $10,SPA偏移量为$10SP内容不变0200 SP$0200$0201$020F$0210$7F9、堆栈寻址_16位偏移量堆栈变址寻址SP216位偏移量堆栈变址寻址SP2, Stack pointer, 8-bit offset addressing mode把指令给出的16位直接地址与堆栈指针(SP)相加形成操作数的地址。16位偏移量堆
11、栈变址寻址指令为三字节指令,可对$0000$FFFF地址进行寻址 。LDA $100, SP;将SP中的值加上偏移量$100所得地址的存储单元的内容送A$7FLDA $100,SP偏移量为$100SP内容不变0100A SP$0100$0101$01FF$0200$7F存储器存储器寻址这类指令将将一个存储单元的内容传送到另一个存储单元。存储器存储器寻址有4种:立即寻址到直接寻址(IMD)直接寻址到直接寻址(DD)自动变址寻址到直接寻址(IX+D)直接寻址到自动变址寻址(DIX+)10、立即寻址到直接寻址IMDMOV #$FF, $00;立即数$FF送$00单元源目的这类指令通常用于初始化寄存器
12、和变量,如MOV #$FF, PTA。把立即数放入直接地址,指令中给出的地址即作为目的地地址,立即数位于直接地址之前。三字节指令,第一个字节为操作码,第二字节为立即数,第三字节为直接地址。立即寻址到直接寻址IMD, Immediate source to direct destination addressing mode11、直接寻址到直接寻址DD需传送的数据从源存储单元直接送向目的存储单元,中间不需经过寄存器中转。三字节指令,第一个字节为操作码,源操作数和目的操作数都是直接地址。MOV $60, $00;$60单元内容送$00单元源目的直接寻址到直接寻址DD, Direct to dire
13、ct addressing mode12、自动变址寻址到直接寻址IX+D, Indexed with post increment to direct addressing mode利用寄存器H:X作为变址寄存器,H:X中的值自动加1,指向下一单元,然后指令给出的地址作为目的地址。源地址是:目标地址+HX。双字节指令,第一字节是操作码,第二字节为目的地址。LDA #$7FSTA $0100LDA #$66STA $0101LDHX #$0100MOV X+,$40MOV X+,$41立即寻址扩展寻址立即寻址扩展寻址立即寻址自动变址到直接寻址HX0100$7F$0040$0041$0140$01
14、41$0039$01420101$7FLDHX #$0100 MOV X+, $40$6613、直接寻址到自动变址寻址DIX+,Direct to indexed with post increment addressing mode利用寄存器H:X作为变址寄存器,H:X中的值自动加1,指向下一单元,然后将指令中给出的地址作为源地址。目标地址是:源地址+HX。双字节指令,第一字节是操作码,第二字节为目的地址。MOV #$7F,$40MOV #$66,$41LDHX #$0240MOV $40,X+MOV $41,X+立即寻址到直接寻址立即寻址直接寻址到自动变址HX0240$7F$0041$00
15、42$0281$0282$0040$02830241$7FLDHX #$0240 MOV $40,X+$6614、相对寻址REL相对寻址只用于转移指令。在相对寻址方式中,CPU首先测试给定的条件,如果转移条件满足,CPU就把指令中的偏移量和程序计数器PC中的内容相加,得出转移的目的地址。如果转移条件不满足,CPU执行下一条指令。相对寻址方式的指令为双字节指令,一个为操作码,另一个是相对偏移量,转移指令中的偏移量为-127+128。实际编程时,不必自己计算相对偏移量,只要写出待跳转的地址标号代替偏移量,汇编程序会在汇编时自动计算偏移量,并检查是否超过有效转移范围。相对寻址REL, Relativ
16、e addressing mode相对寻址例main: CLC;设置进位标志位C为0 BCC P1 ;如C为0,转P1 LDA #$FF;(A)$FF BRA P2;无条件转P2P1: LDA #$00;(A) $00P2: BRA $ ;原地踏步 98 CLC 2404 BCC *+68003 A6FF LDA #0 xFF8005 2002 BRA *+48007 A600 LDA #0 x00 20FE BRA *+0800B 000000 BRSET地址 代码 指令相对寻址执行过程982404A6FF2002A60020FE0000008000800180038005800780098
17、00BCLCBCC P1LDA #$FFBRA P2LDA #$00BRA $BRSET CLC BCC P1; 2404 LDA #$FF BRA P2P1: LDA #$00P2: BRA $ 8000PC8001C=08003800715、无偏移量变址后加1寻址IX+在HC08指令系统中,只有一条指令采用这种寻址方式,这是一条相对转移指令:CBEQ X+,rel首先将变址寄存器H:X的内容加1放回H:X中,再把变址寄存器H:X的内容作为操作数地址。编程时无需计算偏移量,写成程序标号即可。无偏移量变址后加1寻址IX+, Indexed, no offset, post increment
18、addressing mode16、8位偏移量变址后加1寻址IX18位偏移量变址后加1寻址IX+, Indexed, 8-bit offset, post increment addressing mode在HC08指令系统中,只有一条指令采用这种寻址方式,这是一条相对转移指令:CBEQ opr, X+,rel首先将变址寄存器H:X的内容加1放回H:X中,CPU把变址寄存器H:X的内容和指令给出的直接地址相加,其和便是操作数地址。编程时无需计算偏移量,写成程序标号即可。寻址方式小结隐含寻址(INH)立即寻址(IMM)直接寻址(DIR)扩展寻址(EXT)变址寻址变址寄存器变址堆栈指针变址无偏移量变址寻址(IX)8位偏移量变址寻址(IX1)16位偏移量变址寻址(IX2)8位偏移量堆栈寻址(SP1)16位偏移量堆栈寻址(SP2)存储器到存储器寻址立即寻址到直接寻址(IMD)直接寻址到直接寻址(DD)自动变址寻址到直接寻址(IX+D)直接寻址到自动变址寻址(DIX+)转移用到的寻址方式相对寻址(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 乐器店装修预定金协议模板
- 电商平台营销活动策划与执行案例分析
- 2025年度摄影著作权许可及影像制作合同
- 2025至2030年暗装浴缸混合头项目投资价值分析报告
- 水处理中的化学原理洁净水资源的保护与利用
- 2025至2030年双面绣磨砂片项目投资价值分析报告
- 2025至2030年化纤纺丝纸管项目投资价值分析报告
- 2025年柔印直接制版机项目申请报告模范
- 2025年中国灶柜市场调查研究报告
- 家具拎包入住样板间租赁合同范本
- 《销售人员的培训》课件
- 国防动员课件教学课件
- 特殊作业安全管理监护人专项培训课件
- 自行车被盗案汇报课件
- 律师事务所案件管理手册
- 《节水评价技术导则》
- 简单酒店装修合同书范本(30篇)
- 安全、环境、职业健康安全目标、指标及管理方案
- 《地理信息系统GIS》全套教学课件
- 技术序列学习地图(2023年)
- 2024年高考政治考试题海南卷及参考答案
评论
0/150
提交评论