




已阅读5页,还剩67页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第3章S12指令系统,1,PPT学习交流,3.1指令系统简介丰富、强大、灵活,16位处理,共400多条。与硬件系统对应。按功能分类:数据传送、算术运算、逻辑运算、位操作、移位、控制、特殊。寻址方式多。,3.1.1S12CPU的内部寄存器,特点:默认地址空间:$0000$03FF(1K),实际使用512B除一般数据读/写外,还可直接移位、置位、清零、位测试等复杂操作数据传送速度较RAM快,2,PPT学习交流,S12XCPU寄存器,累加器D16位=累加器A(高8位)+累加器B(低8位)。常用于数据处理。变址寄存器X、Y各16位,常用于寻址操作。堆栈指针寄存器SP(16位)指向堆栈区的顶部。自动处理中断、子程序返回地址。参数传递,零时保存数据。初始化。程序计数器PC16位,程序运行的地址指向下一条将要执行的指令,可读,不可写。取指令后自动增加。,3,PPT学习交流,程序状态寄存器CCR8位复位默认值:11010000B,S-STOP指令禁止位。复位1,1:禁止CPU执行STOPX-非屏蔽中断屏蔽位。复位1:屏蔽来自XIRQ引脚的中断请求H-辅助进位。BCD操作时累加器A的低4位的进位I-中断屏蔽位。复位1,1:屏蔽所有可屏蔽中断源,N-符号位。当指令运算结果为负时置1Z-0标志位。当指令运算结果为0时置1V-补码溢出标志位。当指令运算结果出现补码溢出时置1C-进位标志。当加法运算结果产生进位(减法借位)时置1,4,PPT学习交流,4.2寻址方式寻址:寻找操作数地址的过程。有效地址(effectiveaddress):操作数所在的地址。寻址方式:通过确定操作数所在的地址,提取操作数的方法。S12有7大种寻址方式:一.隐含寻址(INH)-特点单字节指令如ROLA;循环左移,操作数A隐含在指令中EDIV;助记符中无寄存器名称出现INCA;加一,操作数A隐含在指令中有效地址包含在操作码中,操作数是CPU的寄存器。,操作码指令操作187CLRA$00A267CLRB$00B,5,PPT学习交流,立即寻址:指令的操作数是一个8位或16位二进制数;指令中出现的操作数称为立即数;立即寻址常用来给寄存器赋值;,二.立即数寻址(IMM)如LDDA#$FF(将十六进制数FF调入A中,#表示立即数),机器码指令操作1860DLDAA#13;$0DA2CF02FELDS#$02FF;$02FFSP3CE1234LDX#$1234;$1234X4CD0067LDY#$67;$0067Y58A0BORAA#%00001011;(A)$0BA,6,PPT学习交流,三.直接寻址(DIR)-zeropageaddressing地址范围:$00TO$FF=$0000TO%00FF;CUP自动添加高8位为$00.特点:指令短、速度快。,机器码指令操作9655LDAA$55;($0055)ADC20LDX$20;($0020:$0021)X,四.扩展寻址(EXT)如LDAA$F03B(16位地址)LDAA#$F03B?,机器码指令操作:($0040)A8640LDAA$40;直接寻址B60040LDAA$0040;使用扩展寻址,7,PPT学习交流,五.相对寻址(REL)SHIFT:LDAA#$55BRASHIFT(相对地址跳转),20FETRAP:BRATRAP;PC-2PC程序利用转移指令返回到指令首址,程序在该行落入陷阱,称为“原地踏步”。这是一种终止程序的普通方法,广泛用于程序调试。,8,PPT学习交流,n,n,六.变址寻址,以某个寄存器的内容为基本地址,然后在这个基本地址上加上地址偏移量,形成操作数地址或存放操作数地址的地址,并将这个地址单元的内容作为指令的操作数。,9,PPT学习交流,1.变址方式一般形成过程:操作数地址=偏移量+寄存器的内容(16位)2.偏移量定义范围:3位正数1-8;不含05位数-16-159位数-256-25516位数-32768-32767累加寄存器内容A、B、D作为偏移量3.寄存器定义范围:X、Y、SP、PC:5、9、16累加器的偏移量X、Y、SP:3位正数1-83.1操作数地址=偏移量+a)类寄存器集合,10,PPT学习交流,地址指令操作数C008LDDA1,X;2字节5位偏移量C00ALDDA15,X;2字节5位偏移量C00CLDAA255,X;3字节9位偏移量C00FLDAA0,X;25位偏移量C011LDAA32767,X;416位偏移量C015LDAAA,X;2累加器偏移量C017-偏移量在指令中IDX,2字节指令。偏移量多1个字节IDX1,3字节指令。偏移量多2个字节IDX2,4字节指令。LDAA,X;无偏移量,指令为2BIDX,等效指令LDAA0,X;无偏移量,指令为2BIDX,等效指令LDAAX;无偏移量,指令为2BIDX,等效指令LDDA7,X;偏移量=5位,2BIDXLDAA-150,X;偏移量=9位,3BIDX1LDAA10000,X;偏移量=16位,4BIDX2,11,PPT学习交流,语法:operation,r;无偏移operation0,r;无偏移operationn,r;正常数偏移量operation-n,r;负常数偏移量r是变址寄存器(IX,IY,SP,PC),n/-n是带符号偏移量(5位、9位、16位)。,12,PPT学习交流,3.2操作数地址=偏移量+b)类寄存器集合带指针自动调整功能的变址寻址(IDX)调整范围在1-8正数,寄存器:X、Y、S。MOVW2,X+,4,+YSTAA1,-SPSTX2,-SPLDX2,SP+LDAA1,SP+问题:下列指令属于哪一类偏移量?LDAA3,X;LDAA3,X+;5位偏移量-16-15;3位1-8偏移量,13,PPT学习交流,4.IDX类变址寻址方法总结:偏移量或偏移量寄存器隐含在指令中,共有3种对应变址方法:偏移量18正数,xyp和18正数,xyp。INSToprx3,-xysINSToprx3,+xysINSToprx3,xys-INSToprx3,xys+5位偏移量-16-15,变址寄存器xyspINSToprx5,xysp寄存器偏移量A,B,D,变址寄存器xyspINSTabd,xysp注:FREESCALE资料中,上述偏移量统一表示为oprx0_xysp,14,PPT学习交流,5.间接指针寻址,INSTOPRX16,XYSP,间接16位常数偏移量变址寻址IDX2,15,PPT学习交流,例:设指令执行前X=$1000,($100A)=$20,($100B)=$00,($2000)=$3A,($2001)=$1F。比较以下两条指令的执行情况:LDAA$0A,X;(X)+$0A)A(X)+$0A=$1000+$0A=$100A($100A)=$20A=$20LDAA$0A,X;(X)+$0A)A(X)+$0A=$1000+$0A=$100A($100A)=$2000($2000)=$3AA=$3A,16,PPT学习交流,INSTD,XYSP,间接D变址寻址D、IDX,偏移量范围从-32768到+32767,17,PPT学习交流,INC$1000;EXTINC3,X+;IDX1-8INC3,X;IDX-16-15INCD,X;IDXINC255,X;IDX1INC$1000,X;IDX216偏移量INC$1000,X;IDX2INCD,X;D,IDX,6.内存地址加一指令寻址方法,18,PPT学习交流,4.3常用基本指令,4.3.1传输类指令1.寄存器加载指令LOAD功能:将内存数据加载到寄存器源操作数内容不变。支持寻址方式:IMM、DIR、EXT、IDX、IDX1、IDX2、IDX2、D,IDX。不支持INH、REL寻址。对CCR影响:V=0,N,Z,与C无关。列:LDAA#$01LDAA$01LDAA$0001如果内存(0008)=8F、(0009)=00,LDD$08寄存器:A=8F,B=00。M:M+1M低地址,M+1高地址(M)(M+1),19,PPT学习交流,寄存器加载指令列表,20,PPT学习交流,STXY;X写入Y指向数据地址STX,Y;等同上一条命令STAB,;STD$2000;2000(A)2001=(B);地址向高地址发展。,寄存器存储指令STORE功能:累加器或寄存器内容写入内存单元。源操作数不发生变化。源操作数A、B、D、X、Y、SP寻址方式:DIR、EXT、IDX、IDX1、IDX2、IDX2、D,IDXCCR:N,Z,V=0,与C无关,21,PPT学习交流,寄存器存储指令列表,22,PPT学习交流,3.寄存器传送指令(TABTBATFR以外指令是8位机兼容指令),16位寄存器内容传到8位时,低8位内容装入8位寄存器;8位寄存器内容传到16位时,8位寄存器内容装入低8位,并符号扩展,23,PPT学习交流,寄存器传送指令特点:传到CCR,X不会发生0到1变化,即不能置位;TFR指令(除传到CCR以外)不会影响CCR的标志。注意:TABTBA对CCR影响同LOAD,STORE。所有指令在编译后,实际上隐含寻址方式。,列:TFRA,Y;A=$0F,Y=$000FTFRX,B;X=$0FEE,B=$EETFRA,CCR,24,PPT学习交流,4.寄存器交换指令EXGEXGA/B/CCR,X/Y/SP;8位与16位交换X=$00:A/B/CCREXGX/Y/SP,A/B/CCR;16位与8位交换X=$00:A;X=$FF:B/CCR源寄存器不同,结果不同!对CCR没有影响。,EXGA,BEXGX,YEXGB,XEXGX,BEXGX,A注意:EXG编译后是隐含寻址方式。建议一般不使用不匹配长度寄存器之间的交换指令,25,PPT学习交流,5.内存数据传送指令功能:内存到内存的数据传送。源操作数内容不变化。支持寻址方式:IMM-EXT,IMM-IDX,EXT-EXTEXT-IDX,IDX-EXT,IDX-IDX不影响标志位;唯一不与寄存器发生关系的传送指令;IMM寻址可以用于初始化内存块;,列:MOVB$2000,XMOVB$80,8,Y;(Y+8)=($0080)MOVW#$1234,1,Y+;(Y)=$12,(Y+1)=$34MOVW2,X+,4,Y+;(Y)=(X),(Y+1)=(X+1)MOVB#12,$0001;,26,PPT学习交流,6.堆栈操作指令,进堆栈先减,再存储数据;出堆栈先保存数据,再加。,PSHX=STX2,-SPPULX=LDX2,SP+,27,PPT学习交流,堆栈操着指令寻址方式SP间接寻址。不影响CCR,除CCR相关弹出指令外。隐含寻址。用途:参数传递。一种数据结构。,特点:1、各寄存器都可以入栈、出栈2、可以做8位、16位操作3、入栈时SP-1(2),出栈时SP+1(2),28,PPT学习交流,CPS$1000DESINSLDS$2000LEAS4,XSTS,XTSXTSYTXSTYS,堆栈指针指令,29,PPT学习交流,7.有效地址加载指令,功能:将寻址模式的有效地址加载到寄存器特点:不影响CCR支持寻址方式:IDXIDX1IDX2,不支持间址方式,列:LDY#$2000LEAS4,Y+;SP=$2000,Y=2004LDS4,Y+;SP=(Y)LEAXB,Y;X=B+YLDXB,Y;X=(B+X),30,PPT学习交流,4.3.2运算类指令,特点:所有加减指令结果都存放在寄存器RR的加减法,寻址方式的隐含,没有带借进位.ABX和ABY不影响CCR.ABX=LEAXB,X;ABY=LEAYB,X,R-M加减法寻址方法8种:IMM、DIR、EXT、IDX、IDX1、IDX2、IDX2、D,IDX,31,PPT学习交流,32,PPT学习交流,33,PPT学习交流,2.加减1指令,特点1:不影响借进位。方便循环控制,特点2:对寄存器X、Y的增减,仅影响Z位其它指令影响:N,Z,VINS,DES指令不影响CCR,特点3:SP的操作编译自动转变位LEAS指令列:INS-LEAS1,SP,对A、B、X、Y寄存器操作,效率高,指令仅1字节长,34,PPT学习交流,3.比较测试指令,特点:比较指令对同等长度的数据进行比较;不改变操作数的内容。寻址:IMM、DIR、EXT、IDX、IDX1、IDX2、IDX2、D,IDXA,B比较隐含寻址影响:C、V、N、Z列:CMPA#$30,CPD5,Y,测试指令用于测试内存、寄存器是否为$00;不改变操作数的内容,测试单位是字节;V,C位始终清零;影响N,Z;寻址:EXT、IDX、IDX1、IDX2、IDX2、D,IDX无:IMM.DIR列:TST$1000,35,PPT学习交流,4.求补运算指令功能:求出寄存器或内存单元的补码值;支持:EXT、IDX、IDX1、IDX2、IDX2、D,IDXCCR:N、Z、V、C对内存操作是按字节长度操作,问题:LDAA#$80NEGA答案:A=$80v=1,36,PPT学习交流,对于一位十进制加法,每位数变化范围09。对应的加法结果是0到18。BCD码:用4位二进制码表示一位十进制数比如:%0100-4,%1000-8对于两个01100000000000000.0110000000000000-1/4+1/8=0.375注意:是无符号数的除法!,42,PPT学习交流,例:分别用无符号和有符号乘法指令计算$8000$4000LDD#$8000;32768LDY#$4000;16384EMUL;Y=$2000,D=$0000,按无符号数运算3276816384=536870912=$20000000LDD#$8000;-32768LDY#$4000;+16384EMULS;Y=$E000,D=$0000,按有符号数运算-3276816384=-536870912=$E0000000,EMUL和EMULS指令的区别在于,EMULS指令的结果用补码表示,43,PPT学习交流,【例】计算$4000$407F单元所有字节数据的平方,并把计算结果存放在$4080开始的单元中,按字方式存储。ORG$8000MAIN:LDS#$0800;定义堆栈LDX#$4000;初始化数据块指针LDY#$4080;LOOP1:JSRSQUARE;求平方循环INX;指向下一个数据CPX#$4080;所有数据的平方是否计算完毕?BNELOOP1;未完,循环HERE:BRAHERE;原地踏步SQUARE:LDAA$00,X;(X)A,取1个数据TAB;(A)BMUL;计算数据的平方STD$02,Y+;保存结果RTS,44,PPT学习交流,45,PPT学习交流,4.3.3逻辑指令,寄存器CCR只有立即数寻址方式且无异或操作,46,PPT学习交流,特点:A、B、CCR、X、Y与立即数、或内存逻辑操作,结构放于寄存器;用途:寄存器清零某位或置位某位,测试内存数据。CCR影响:V=0,47,PPT学习交流,2.清零和取反指令,清零指令执行后,CCR:Z=1,N=0,V=0,C=0取反指令执行后,CCR:V=0,C=1,48,PPT学习交流,3.位操作和位检测指令,BCLR:将屏蔽码为1的对应位清0,操作对象仅内存;BSET:将屏蔽码为1的对应位置1,操作对象仅内存;,列:BCLR$2000,#$81;最高最低位清零BSET$55,#$80;最高位置1,TST、AND、BIT、BCLRBSET区别:TST对象内存、寄存器,是否为0,操作数内容不变,强调数;AND对象内存和寄存器,操作数内容变化;强调位!BIT对象内存和寄存器,操作数内容部不变,强调位!BCLR、BSET位操作指令对象仅内存,操作数内容变化。,49,PPT学习交流,4.移位指令,逻辑移位、循环移位:控制操作算术移位:快速乘法,除法。,协助记忆:算术:Arithmetic逻辑:Logic左:Left右:Right循环:Rotate,算术左移(ASL)逻辑左移(LSL)算术右移(ASR)逻辑右移(LSR)循环左移(ROL)循环右移(ROR),50,PPT学习交流,51,PPT学习交流,52,PPT学习交流,53,PPT学习交流,【例】阅读该程序段。程序运行前,($3800)$36。ORG$B000;程序起始地址LDX#$3800;数据地址LDAB0,X;(X)BTFRB,A;ANDA#$0F;屏蔽高8位STAA1,X;(A)(X)+1=$3801LSRB;右移1次LSRB;LSRB;LSRB;STAB0,X;HERE:BRAHERE;原地踏步程序功能:将地址$3800存放的压缩BCD码解压缩,存放在$3800:$3801单元中,高位在低地址单元。程序执行后:($3800)$03,($3801)$06,A$06,B$03。,54,PPT学习交流,4.3.4程序控制类指令,1.无条件转移指令JMP,LBRA,BRA,55,PPT学习交流,2.短分支跳转指令,56,PPT学习交流,2.短分支跳转指令,功能:在当前PC的值加上一个8位带符号数的偏移量,即跳转范围:128127,57,PPT学习交流,58,PPT学习交流,无符号有符号$88=136,-120CMPA#$88;136BHIL1.CMPA#$88;-120BGTL2,59,PPT学习交流,注意:1、只作检测,满足条件转移,不影响标志位2、结果不回传例:BRCLR$20,#$81,LP1BRSET$20,#$81,LP2,位条件转移指令,60,PPT学习交流,3.长分支跳转指令,功能:在当前PC的值加上一个16位带符号数的偏移量,即跳转范围:3276832767,61,PPT学习交流,4.循环控制指令,特点:1、不影响、不依赖标志位2、转移范围是256255,4字节数加法程序:ADD:LDX#$0B00;加数起始地址LEAY4,X;被加数地址LDAB#4;计数值CLC;清进位位LOOP:LDAAXADCA1,Y+STAA1,X+DBNEB,LOOP,62,PPT学习交流,ADD:LDX#$0B00LEAY4,XLDAB#4CLCLOOP:LDAAXADCA1,Y+STAA1,X+DBNEB,LOOP,ADD:LDX#$0B00LEAY4,XLDAB#4CLCLOOP:LDAAXADCA,YSTAAXINXINYDBNEB,LOOP,63,PPT
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五版地铁隧道电气安装规范及安全协议
- 二零二五年度房地产交易风险评估中介服务费合同
- 2025版大型设备安装与维护合作协议范本下载
- 2025版绿色生态园区建设项目内部承包协议
- 2025承包建筑工程承包合同-智慧城市综合体建设
- 2025版城市地下停车场施工承包合同
- 2025版智能网联汽车一半股权转让与技术支持合同
- 二零二五年服装店品牌营销顾问聘用合同样本
- 2025版老年旅游合同范本贴心关怀服务保障
- 2025版建筑安装施工合同交底书范本
- 销售入职培训大纲
- 【《汽车前轴结构优化及轻量化性能研究(论文)》13000字】
- 铝锭加工协议合同
- 西安经开第一学校新初一分班英语试卷含答案
- 酒店建筑装饰行业深度调研及发展战略咨询报告
- 燃气轮机余热回收技术-深度研究
- 2025年健身教练专业试卷-健身教练职业资格认证考试复习指南
- 家政就业安置合同范本7篇
- 老龄化背景下的长期照护需求-深度研究
- 《认识创业投资》课件
- 2025年全国幼儿园教师资格证考试教育理论知识押题试题库及答案(共九套)
评论
0/150
提交评论