第3章 MCS-51 单片机的指令系统.ppt
上传人:sy****28 上传时间:2024-09-14 格式:PPT 页数:80 大小:2.2MB 金币:18 举报 版权申诉
预览加载中,请您耐心等待几秒...

第3章 MCS-51 单片机的指令系统.ppt

第3章MCS-51单片机的指令系统.ppt

预览

免费试读已结束,剩余 70 页请下载文档后查看

18 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第3章MCS-51单片机的指令系统二、指令字长和指令周期例:MULAB;乘法指令,是单字节指令,但指令周期为4个机器周期。凡以字母A-F开头的十六进制数均需加前导01.3211个位地址空间。内部RAM中可位寻址的20H-2FH对应的128个位地址和11个SFR中83个可用的位地址空间三、寄存器寻址操作数在寄存器中。四、寄存器间接寻址间接寻址是由指令指定某一寄存器的内容作为操作数的地址。该地址指定的单元内容作为被寻找的操作数。MCS-51用于间接寻址的寄存器有R0、R1、堆栈指针SP、数据指针DPTR2与P2口配合,用Ri指示低8位地址,可寻址片外数据存储器或I/O的64K区域寄存器间接寻址方式不能用于对特殊功能寄存器区SFR的寻址五基址加变址寄存器间接寻址(变址寻址)37H六相对寻址例:rel=75H,CY=12002H:JCrel;(如CY=1,则跳转到PC+rel处去执行程序)七位寻址2.2位名称表示法表3―17种寻址方式及使用空间MCS—51单片机指令系统分为:数据传送类指令、算术运算类指令、逻辑运算及移位类指令、控制转移类指令和位操作(布尔操作)指令5大类,共计111条指令。现按其分类分别介绍各条指令的格式、功能、对状态标志的影响以及应用。A——累加器。B——寄存器,用于MUL和DIV指令中。C——进位标志或进位位。@——间接寻址寄存器或基址寄存器的前缀,如@Ri,@DPTR。/——位操作数的前缀,表示对该位取反。(X)——X中的内容。((X))——由X寻址的单元中的内容。←——箭头左边的内容被箭头右边的内容所代替。Rn——寄存器区中的8个工作寄存器R0~R7,即n=0~7。Ri——寄存器区中的2个寄存器R0、R1,i=0、1。direct——8位内部RAM单元的地址,它可以是一个内部数据区RAM单元(00H~7FH)或特殊功能寄存器地址#data——指令中的8位常数。#data16——指令中的16位常数。addr16——16位的目的地址,用于LJMP,LCALL指令,可指向64KB程序存储器地址空间。addr11——11位的目的地址,用于AJMP,ACALL指令。目的地址必须与下一条指令的第一个字节在同一个2KB程序存储器地址空间之内。rel——8位带符号的偏移量字节,用于SJMP和所有条件转移指令中。偏移量相对于下一条指令的第一个字节计算,在-128~+127范围内取bit——内部数据RAM或特殊功能寄存器中的可直接寻址位。DPTR——数据指针,可用作16位的地址寄存器。一数据传送指令1.1立即数传送指令源操作数为立即数立即数的高八位送DPH,低八位送DPL。例:MOVDPTR,#2500H;例:(A)=40H,(40H)=42HMOVR0,A;MOVA,@R0;MOV30H,A;求(30H)=?MOVdirect,Rn;(Rn)(direct),n=0-7例:设内部RAM中30H单元的内容为40H,40H单元的内容为10H,P1口作输入口,输入数据为0CAH。求R0,R1,A,B,40H,P2各单元中的内容。1.4内部数据传送指令的使用2外部数据存储器(或I/O)的读写指令2.2用@Ri进行间接寻址的指令例:若外部RAM中,(20FFH)=30H,(2100H)=15H(2000H)=10H,求A中的内容3程序存储器与累加器A传送数据指令例:已知累加器A中有一个0-9范围内的数,用查表指令编出能查出该数平方值的程序。设平方表表头的地址为2000H。例:将片内RAM40H单元内容送至片外50H单元中;将片外2350H单元内容送片内41H单元。4堆栈及堆栈指令4.2堆栈指针SP数据写入堆栈称为入栈,数据从堆栈中读出称为出栈4.3堆栈操作指令例:设(30H)=03H,(40H)=04H,试利用堆栈实现30H和40H单元的数据交换。5数据交换指令例:已知外部RAM的20H单元中有一个数X,内部RAM的20H单元中有一个数Y,试利用字节交换指令编出可以使它们互相交换的程序。5.2低半字节交换指令例:已知外部RAM2020H单元有一个数X,内部RAM20H单元有一个数Y,试编出可以使它们互相交换的程序。表3―2数据传送类指令助记符与操作二、算术运算指令ADDCA,Rn;(Rn)+(A)+(CY)(A),n=0-7SUBBA,Rn;(A)-(Rn)-(CY)(A),n=0-7INCA;(A)+1(A)例:设20H、21H单元存放一个16位二进制数X1(高8位存于21H单元),30H、31H单元存放另一个16位二进制数X2(高8位存于31H单元),求X1+X2,和存于20H和21H。设两数之和不超过16位。DECA;(A)-1(A)5乘法指令6除法指令6二-十进