欢迎来到天天文库
浏览记录
ID:43028813
大小:1.02 MB
页数:22页
时间:2019-09-25
《第3章 指令系统》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第3章指令系统一、教学要求:了解:单片机的寻址方式和指令系统功能,特别是其位寻址功能。掌握:各种寻址方式,常用指令的功能和使用方法及汇编语言程序设计方法。注意几个中断入口地址在程序存储器中的位置,注意16位数据指针DPTR和两个8位数据R0、R1指针的使用方法。二、教学内容:3.1单片机指令格式和寻址方式3.2单片机指令分类介绍3.3单片机指令汇总三、教学重点:各种寻址方式,常用指令的功能和使用方法及汇编语言程序设计方法。四、教学难点:注意几个中断入口地址在程序存储器中的位置,注意16位数据指针DP
2、TR和两个8位数据指针R0、R1的使用方法。五、建议学时:3学时。六、教学内容:3.1指令格式和寻址方式一、汇编语言指令格式:[标号:]操作码操作数1,操作数2[;注释]换行表示一条指令结束。例:LOOP:MOVA,#40H;取参数1、标号:指令的符号地址。2、操作码:指明指令功能。3、操作数:指令操作对象。4、注释行:说明指令在程序中的作用。操作码和操作数是指令主体。MOV—move传送XCH—exchange交换ANL—andlogic与逻辑运算XRL—exclusiveor异或运算MUL—mu
3、ltiply乘法RR—rotateright右循环SJMP—shortjump短跳转RET—return子程序返回二、机器语言指令格式:操作码[操作数1][操作数2]有单字节、双字节和三字节指令。汇编语言指令中操作码和操作数是指令主体,称为指令可执行部分,指令表中可查出对应指令代码。举例:汇编语言:机器语言:MOVA,R0E8HMOVR6,#32H7E32HMOV40H,#64H754064H三、指令寻址方式:(一)操作数类型:位(bit)─位寻址区中的一位二进制数据字节(Byte)─8位二进制数据
4、字(Word)─16位双字节数据(二)寻址方式:1、立即寻址方式:指令中给出实际操作数据(立即数),一般用于为寄存器或存储器赋常数初值。举例:8位立即数:MOVA,#40H;A←40H16位立即数:MOVDPTR,#2100H;DPTR←2100H2、直接寻址方式:指令操作数是存储器单元地址,数据放在存储器单元中。MOVA,40H;A←(40H)例:设存储器两个单元的内容如图所示,执行指令MOVA,40H后A=?41H78H40H56H直接寻址方式对数据操作时,地址是固定值,而地址所指定的单元内容为
5、变量形式。思考题:直接寻址方式指令和立即寻址方式指令的形式有什么不同?3、寄存器寻址方式:指令操作数为寄存器名,数据在寄存器中。例:MOVA,R0;A←(R0)设指令执行前A=20H,R0=40H,执行指令后,A=?,R0=?4、寄存器间接寻址方式:指令的操作数为寄存器名,寄存器中为数据地址。存放地址的寄存器称为间址寄存器或数据指针。例:MOVA,@R0;A←((R0))设指令执行前A=20H,R0=40H,地址为40H存储器单元内容如图所示。执行指令后,A=?R0=?(40H)=?41H67HR0
6、→40H34H34H5、变址间接寻址方式:数据在存储器中,指令给出的寄存器中为数据的基地址和偏移量。数据地址=基地址+偏移量。说明:1、只对程序存储器;2、指令形式:MOVCA,@A+DPTRMOVCA,@A+PCJMP@A+DPTR例:MOVCA,@A+DPTR;A←((A+DPTR))设指令执行前A=09H,DPTR=2000H,存储器单元内容如图所示。执行指令后,A=?DPTR=?6、位寻址方式:指令给出位地址。一位数据在存储器位寻址区。(1)内部RAM中的位寻址区:字节地址为20H~2FH;
7、(2)专用寄存器的可寻址位:11个(83位)表示方法:1)直接使用位地址;如:PSW的位6可表示为0D6H2)位名称表示;或AC3)字节地址加位数表示;或0D0H.64)专用寄存器符号加位数表示。或PSW.6例:MOVC,40H;Cy←(位地址40H)设指令执行前Cy=1,位地址40H存储器单元如图,执行指令后,Cy=?110101100110001029H01100110001028H11010110位寻址区7、相对寻址方式:目的地址=转移指令地址+转移指令字节数+rel(rel为偏移量)当前PC
8、值加上指令中规定的偏移量rel,构成实际的操作数地址。例:SJMPrel操作:跳转到的目的地址=当前16位PC值+rel注意:1)“当前PC值”指程序中下一条指令所在的首地址,是一个16位数;2)符号“rel”表示“偏移量”,是一个带符号的单字节数,范围是:-128~+127(80H~7FH)。在实际编程中,“rel”通常用标号代替。3.2指令分类介绍指令功能分类:数据传送、数据操作、布尔处理、程序控制。3.2.1数据传送指令实现寄存器、存储器之间的数据传送。一、内部
此文档下载收益归作者所有