第4章 指令系统.ppt_第1页
第4章 指令系统.ppt_第2页
第4章 指令系统.ppt_第3页
第4章 指令系统.ppt_第4页
第4章 指令系统.ppt_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、兴隆山校园计算中心在9,10周一下午五点30分钟(5: 20 ,5: 30,9: 10实验结束)。迟到了30分钟的机房管理员不让他进来。)地点:兴隆山校园计算中心1、2号机房自身鞋套,实验准备,实验1:掌握综合开发环境(IDE)的使用方法1。安装和卸载IDE(软件自行复制,每次乘坐计算中心时自行安装)2。组合语言工程的建立,工程的开启简单的汇编语言程序的编写和调试1。课件第4章第26页程序调试和掌握,报告中调试方法以及每个阶段后寄存器的结果显示2。word文件-实验2例程。调试和确定doc中的程序,在报告中显示调试方法以及每个阶段后寄存器的结果3。课件第4章3940页程序调试和掌握,以及报告中

2、调试方法和各阶段后寄存器的结果4。调试和主课件第4章45页程序,报告中调试方法和各阶段后寄存器的结果,本周实验部署,实验3:使用模拟方法,编写和调试复杂汇编语言程序1。添加多字节无符号计数,分别添加到以add1、add2开头的数据单元,结果存储在以sum开头的单元格中。在每个阶段后,必须填写寄存器的值和最终结果。使用汇编语言创建二次数字过滤程序。自定义10个8位无符号整数(D1D10),使用气泡排序方法从大值到小值排序,排序后平均D4D7,将商和馀数存储在内存单元中。在每个阶段后,必须创建寄存器值和最终结果。第4章MC9S12单片机命令系统,4-1命令格式和寻址方法4-2命令系统,内容摘要:命

3、令格式示例:标签: movb # $ 66,x;注释标签opcode源操作数操作数注释9S12单芯片命令系统每个指令必须具有opcode,操作数可以是0-3。根据操作数的定义,9S12中的命令可分为8类,称为8种寻址方法。4-1命令格式和寻址方法,寻址方法,隐式寻址立即寻址扩展直接寻址扩展相对寻址累加器寻址带自动添加,减法5位偏移寻址,隐式寻址,定义:仅操作码,操作数或操作数是寄存器,操作数不可见。例如:NOP、PSHA、PSHB、PSHX、PSHY、PSHC、PSHD隐式操作数分别为“无”、“a”、“b”、“x”、“y”、“CCR”、“d”。通常是单字节命令。隐式寻址示例;PC=C003 N

4、OPPC=C004,A=CB,SP=500 PSHAA=CB,SP=4FF,4FF=CBNP是程序计数器PC加1的单字节命令。PSHA是确定的值,首先移动SP指针,然后按数值进行寻址,命令操作码后有一个或两个8位或16位操作数。例如,LDAA # $ 55十六进制表示立即将$55加载到累加器A的LDX #1234中。表示您已将十进制12341装入到重新调用LDY # 010101。指示二进制数00100110已加载到累积Y中。注:立即前置#,直接寻址,0页寻址,范围为$00$ff,总计256个单元,常规访问I/o寄存器。示例:LDAA $ 55第0页$0055表示内存单元格中的数据已加载到累加

5、器A。也可以表示为: LDAA$55。“”表示旧版本CodeWarrior中的零页寻址,新版本不需要添加“”。直接寻址示例:运行LDAA $55之前:55=0,A=CB之后,可以访问:55=0,A=0,扩展寻址,操作数16位地址,64K空间。例如:LDX $ 4000将数据从$4000和$4001内存设备加载到x中。FREESCALE中的MCU使用“低字节数是高地址单位,高字节数是低地址单位”。在以下情况下:$4000=$12,$4001=$34运行LDX $4000命令后,XH=$12,XL=$34例如STAA $ 4000运行结果A的内容以4000美元为单位,存储在相对寻址、相对传输命令中

6、。操作数为1字节,跳跃范围为-128 127,称为短跳跃。跳远使用64K范围内的16位偏移,方法是在短跳跃命令前添加“L”。例如:label1: bralabel1、-128、label 13360 lbra 3360 labellabel :64k范围、127、地址更改寻址、默认地址寄存器的操作数偏移为0位、例如,X=$1000 LDAA 0,X;A=$1000 LDAA 7,X : A=$1000 7 LDAA-150,X;A=$1000-150 LDAA 1000,X;A=$1000 1000 LDAA 1000,x;以X 1000地址为单位的值是指针,指向内存单元的值加载到累加器A中。

7、5位偏移存储在命令字节(双字节命令)1字节(3字节命令)16位偏移存储在双字节(4字节命令)、累加器寻址、偏移非即时、累加器A、B、D中。示例:LDAB A、X;对于指针,指向X A LDAA D、X : A=X D LDAAD、x : XD地址单元中的值的内存单元的内容将加载到累加器A中。其中A和D的偏移是无符号数字。自动加减5位偏移间接寻址,“第一加、第一减、第二加、第二减”有四种方法。范围是寄存器值加8,再减1。默认地址寄存器可以是x、y、SP。主要用于块实例。示例:MOVW 2、X、4、Y;执行此命令,将X起始单元格的两个单元格的内容(一个单词)发送到以Y 4开头的两个单元格;传输完成

8、后,将X内容加2。注:5位偏移最大位是符号位。LDAA 8 -XLDAA 8,SP LDAA 3 SP-LDAA 5Y,100,255 16进位制$55,1234 8进位制77,1000第二进位制:010101字串:jkl990,LOAD命令影响标志寄存器CCR中的n、z和v标志。ldaa:(m)aldab:(m)b ldd:(m 3360 m1)A 3360 b LDS:(m 3360 m1)sp LDX:(m 3360 m1)x ldy:立即将$2000和$2001单元数据加载到X中,数据传输命令2,STORE指令指示寄存器向内存数据传输不更改累加器或寄存器的值。源操作数为a、b、d、x、

9、y或SP。目的操作数共支持7种寻址方法(DIR、EXT、IDX、IDX1、IDX2、d、IDX和IDX2)。STORE命令影响标志寄存器CCR中的n、z和v标志。staa:(A)mstab:(b)mstd:(A 3360 b)m 3360 m1 STS:(SPH 3360 spl)m 3360 m1 stx:(xh : XL)将y的内容保存到单元$2000和$2001,数据传输命令3,MOVE指令从内存传输内存数据,共6种寻址方法(IMMEXT、IMMIDX、EXTEXT、EXTIDX、IDXEXT和IDXIDX)MOVE命令不影响程序状态寄存器CCR。MOVB:(m1)m2movw:(m 1

10、3360 m11)m 23360 m21示例:MOVB $2000,X;将$2000储存格内容储存至X内容,以指向储存格MOVW 2、X、4、Y。X和X 1内容定点设备存储在Y和Y 1定点设备上,数据传输命令4、TRANSFER传输命令在寄存器中作为寄存器数据传输。如果目标寄存器是CCR,则X位保持原始状态,或清除0,其馀位成为源操作数的相应位值。选项卡:(a) b TBA: (b) a TFR: (a、b、CCR、d、X、Y、SP) A、b、CCR、d、X、Y txs,数据传输命令5,EXCHANGE交换命令表示寄存器的数据和寄存器数据交换。EXGA: (A,B,CCR,D,X,Y,SP)(

11、A,B,CCR,D,X,将a和b的内容与EXGB,x交换。x的低8位b,$ ff: bx、EXGX、a;$00: ax,x的低8位a xgdx: (d) (x)与EXGD相同;x xgdy:(d)(Y)与EXGD相同;Y SEX:将8位寄存器的内容符号扩展,然后传递到16位寄存器SEX将A的内容保留在B中,如果A的最高位为1,则操作后A的内容为$FF,如果为0,则操作后A的内容为$00,数据传输命令6,加载LEA有效地址命令:将各种寻址模式的有效地址加载到累加器X,Y,SP中。这些指令支持的寻址方法为IDX、IDX1和IDX2。LEAS:将有效地址加载到堆栈指针寄存器SP中,例如LDY#$20

12、00 LEAS4,y;SP的值为$2000,与y的值相加后,y的值为$2004 LEAX。将有效地址加载到地址寄存器x(例如,LEAXD,y)中。将Y的内容和D的内容加载到X寄存器LEAY:将有效地址加载到地址寄存器Y(例如LEAYB,X)将X的内容和B的内容加载到Y寄存器,数据传输指令7,堆栈操作指令:单字节堆栈堆栈PSHA,PSHB,PSHC PULA,PULBSP加双字节堆栈PSHD、PSHX、PSHY PULD、PULX、PSHD等PSHD将SP减号2,D数据高(A)发送到SP指点设备,低(B)发送到SP 1指点设备。PULD表示SP将单元数据设置为D高级别(A),SP 1将单元数据设

13、置为低级别(B),SP将2相加。数据传输说明示例;Ldaa加载/保存# $ 55;a累加器加载$55 STAA $480。将a的内容保存到内存480 LDAB $480。$480的内容加载到B INCB中。b内容本身加1 STD $ 485d内容交付$ 485;发送交换命令LDAB #$AA。立即$AA发送B TAB。发送A B LDAB #$AA。立即发送$AA B EXG A,B。A B交换MOVE命令MOVW #$1234,$ 490;立即$1234表示单位为$490和$491,数学运算指令1,加上指令add:ABA:(A)(b)A adda:(A)(m)A addb:(b);将指向XD

14、内存单元的数据加上位C的值(将A的内容相加),则A、数学计算命令2、减法命令sub:SBA:(A)(b)A suba:(A)(m)A subb:(b)从A的内容中出现$A的内容减去X指向的数据单元的内容,再减去借款人C,就存在于A中。然后X自动加1、数学运算命令3、小数曹征命令:DAA(仅适用于结果A的加命令)是在二进制加运算后调整A结果的命令。两个压缩的BCD代码是按二进制数添加的,必须调整此命令才能获得正确的压缩BCD代码。加后,如果A的低4位大于9或半真位H1,则添加$06校正。如果a的高度4位大于9或舍入C1,则添加$60补偿。如果两者都发生,或高4位等于9,低4位校正四舍五入,则添加$66校正,并重置舍入位C。例如,ldaa # $ 55Adda # $ 38A=$ 55 $ 38=$ 8ddaa加$06修正后,结果为$93,可以添加数学运算命令4,命令1: 8位或16位数据。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论