单片机_04(10)-第四章 MCS-51单片机指令系统ppt_第1页
单片机_04(10)-第四章 MCS-51单片机指令系统ppt_第2页
单片机_04(10)-第四章 MCS-51单片机指令系统ppt_第3页
单片机_04(10)-第四章 MCS-51单片机指令系统ppt_第4页
单片机_04(10)-第四章 MCS-51单片机指令系统ppt_第5页
已阅读5页,还剩81页未读 继续免费阅读

下载本文档

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

文档简介

1、4-1 指令系统简介1、助记符和含义:常用指令2、寻址方式3、指令执行对标志位的影响4、指令时序 汇编语言语句是构成汇编语言源程序的基本元素。 其典型表示格式为: 标号:操作助记符(目的操作数),(源操作数) 注释 用机器语言表示的指令格式是以8位二进制数(字节)为基础,有单字节、双字节和三字节指令。其格式为: 4-2 寻址方式 寻址方式定义 : CPU在规定的寻址空间能迅速获得操作数的有效地址的方法,称为寻址方式 . 寻址方式特点: 寻址方式的丰富程度,不仅为编程提供方便,而且将直接影响指令的长度和执行的速度 .MCS51系列单片机设有七种寻址方式 寄存器寻址 寄存器间接寻址: 直接寻址;

2、立即寻址; 基址寄存器+变址寄存器的间接寻址; 相对寻址; 位寻址; 4-3 指令系统 MCS51系列单片机的指令系统按其功能可归纳为五大类: 1、数据传送类指令 (29条) 2、算术运算类指令 (24条) 3、逻辑运算类指令 (24条) 4、控制转移指令 (17条) 5、布尔(位)处理类指令 寻址方式与空间的关系 寄存器寻址 直接寻址 寄存器间接寻址 立即寻址 基地址寄存器+变址寄存器间接寻址 位地址空间R0R7,A,B,DPTRRAM,SFR内部RAM(R0,R1),栈操作、外部RAM,I/O空间程序空间程序空间程序状态字(PSW) F0:用户标志位。 CY:进(借)位标志位。 AC:辅助

3、进位标志位。 RS1、RS0:工作寄存器组选择控制位。 OV:溢出标志位。 P:奇偶标志位。D 7HD 6HD 5HD 4HD 3HD 2HD 1HD 0HCYACF0RS1RS0OV-P描述指令的符号意义MCS51 数据传输指令图1、以累加器为目的MOV A,Rn;(A) (Rn)MOV A,direct;(A) (direct)MOV A,Ri;(A) (Ri)MOV A,#data ;(A) #data举例MOV A, R6 ;(R6) A,寄存器寻址 MOV A, 70H ;(70H)A, 直接寻址 MOV A, R0 ;(R0)A,寄存器间接寻址 MOV A, #00H ;00HA,

4、 立即寻址2、以Rn为目的 MOV Rn,A;(Rn) (A) MOV Rn,direct;(Rn) (direct) MOV Rn, #data ;(Rn) #data以Rn为目的举例 MOV R1,A ;(A)R1,寄存器寻址 MOV R4,73H ;(73H)R4,直接寻址 MOV R6,#78H; 78HR6, 立即寻址 3、以直接地址为目的 MOV direct, A;direct-(A) MOV direct, Rn;direct-(Rn) MOV direct1, direct2;direct1- (direct2) MOV direct, Ri ;direct-(Ri) MOV

5、 direct, #data;directP1,寄存器寻址 MOV 70H,R1 ;(R1)-70H,寄存器寻址 MOV 65H,R0 ;(R0)-65H,寄存器接 寻址 MOV 07H,98H ; 98H-07H, 立即寻址 MOV 7AH,87H ;(87H)-7AH,直接寻址4、以间接变址寄存器为目的 MOV Ri, A ;(Ri)-(A) MOV Ri, direct ;(Ri)-(direct) MOV Ri, #data ; (Ri)(R1),寄存器寻址MOV R0,70H;(70H)-(R0),直接寻址MOV R1,#78H;#78H-(R1), 立即寻址5、16位传送指令 MO

6、V DPTR,#data16 这条指令的功能是把16位常数送入DPTR中。16位的数据指针DPTR由DPH和DPL组成,这条指令的执行结果是把高位立即数送入DPH,低位立即数送入DPL中。 MOVDPTR,#2000H6、栈操作指令 PUSH direct;(SP)-SP+1, (SP)- (direct) 进栈指令的功能是先将SP的指针加1,然后把直接地址指出的内容传送到栈指针SP寻址的内部RAM单元中。POP direct; (direct)-(SP), (SP)-SP-1 出栈指令的功能是将栈指针SP寻址的内部RAM单元的内容送入直接地址所指的字节单元中去,同时栈指针减1。7、累加器(A

7、CC)与外部数据I/O空间传送 MOVX A, Ri; (A)-(Ri) MOVX Ri, A;(Ri)-(A) MOVX A,DPTR;(A)-(DPTR) MOVX DPTR, A; (DPTR)-(A) MOVXA, R1 MOVXDPTR,A8、查表指令MOVC A,A+DPTR;(A)-(A)+(DPTR)MOVC A,A+PC ;(A)-(A)+(PC)9、字节交换指令XCH A, Rn;(A)(Rn)XCH A,direct;(A)(direct)XCH A,Ri;(A)(Ri)10、半字节交换指令 XCHD A,Ri; (A)0-3(Ri)0-3 1、不带进位位的加法 ADD

8、A, #data;(A)-(A)+#data ADD A, direct; (A)-(A)+(direct) ADD A, Rn;(A)-(A)+(Rn) ADD A, Ri ;(A)-(A)+(Ri) ADD影响的标志位:进位位(CY)、半进位(AC)、溢出位(OV) 用途:将A中的值与其后面的值相加,最终结果送回到A中。2、算术指令 例 设(A)85H,(R1)=0FEH。执行指令 ADD A,R1 10000101+ 11111110-(1)10000011结果是:(A)83H,CY1,AC1,OV=0。2、带进位加法ADDC A,Rn;(A)-(A)+(C)+(Rn)ADDC A,di

9、rect;(A)-(A)+(C)+(direct)ADDC A,Ri;(A)-(A)+(C)+(Ri)ADDC A,#data;(A)-(A)+(C)+#data影响的标志位:进位位(CY)、半进位(AC)、 溢出位(OV)、奇偶标志位(P)用途:将A中的值和其后面的值相加,并且加上进 位位C中的值。 例:(A)AEH,(R0)81H,(C)1,执行指令ADDC A,R0,则操作如下: 运算后,CY1,OV1,AC1, P0,A=30H3、加1指令INC A INC RnINC directINC Ri INC DPTR用途:把指定的内容加1,结果仍然存在原单元中。 不影响PSW4、二-十进制

10、调整指令DAA用途:对A的BCD码加法结果进行调整。5、带借位减法指令SUBB A, Rn; (A)-(A)-(C)-(Rn)SUBB A, direct; (A)-(A)-(C)-(direct)SUBB A, Ri;(A)-(A)-(C)-(Ri)SUBB A, #data;(A)-(A)-(C)-#data 影响的标志位:进位位(CY)、半进位(AC)、溢出位(OV)、奇偶标志位(P) 例3:AC9H,R354H,CY=1,执行指令SUBB A,R3,则操作如下: 运算后,CY0, AC0,OV1, P0, A74H。6、减1指令DEC A DEC RnDEC directDEC Ri

11、用途:把指定的内容减1,结果仍然存在原单元中。7、乘法指令 MUL AB; 此指令的功能是将A和B中的两个8位无符号数相乘,两数相乘结果一般比较大,因此最终结果用1个16位数来表达,其中高8位放在B中,低8位放在A中。在乘积大于FFFFH(65535)时,0V置1(溢出),否则OV为0,而CY总是0。8、除法指令 DIV AB 此指令的功能是将A中的8位无符号数除了B中的8位无符号数(A/B)。除了以后,商放在A中,余数放在B中。CY和OV都是0。如果在做除法前B中的值是00H,也就是除数为0,那么0V=1。1、对累加器A的逻辑操作CLR A ;将A中的值清0,单周期单字节指;令,与MOV A

12、,#00H效果相同。CPL A ;将A中的值按位取反 SWAP A ;将A中的值高、低4位交换。一、逻辑运算指令RL A 将A中的值逻辑左移RLC A 将A中的值加上进位位进行逻辑左移RR A 将A中的值进行逻辑右移RRC A 将A中的值加上进位位进行逻辑右移2、逻辑与指令ANL A, Rn ; A与Rn中的值按位与,结果送入 A中ANL A, direct ; A与direct中的值按位与, ;结果送入A中ANLA, Ri ; A与间址寻址单元Ri中的值按位 与, ;结果送入A中ANL A, #data ; A与立即数data按位与,结果送入A中ANL direct, A ; direct中

13、值与A中的值按位与,结果送入 direct中ANL direct, #data ; direct中的值与立即数data按位与,结果 送入direct中。 这里的逻辑与是指按位与.3、逻辑或指令ORL A, Rn ; A与Rn中的值按位或,结 果送入A中ORL A, direct ;A与direct中的值按位或, ;结果送入A中ORLA, Ri ;A与间址寻址单元Ri中的值 按位或, ;结果送入A中ORL A, #data ;A与立即数data按位或, ;结果送入A中ORL direct, A ;direct中值与A中的值按 ;位或,结果送入direct 中ORL direct, #data ;

14、 direct中的值与 ;立即数data按位或, ;结果送入direct中。4、逻辑异或指令XRLA, Rn ; A与Rn中的值按位异或, ;结果送入A中XRLA, direct ; A与direct中的值 ;按位异或,结果送入A中XRLA, Ri; A与间址寻址单元Ri中 ;的值按位异或,结果送入A中4、逻辑异或指令XRL A, #data ;A与立即数data按位 ;异或,结果送入A中XRLdirect, A ; direct中值与A中的值 ;按位异或, ;结果送入direct中XRL direct,#data;direct中的值与立即数 ;data按位异或,结果送入direct中。五、位

15、操作指令 (一)位传送指令 MOV C, BITMOV BIT, C这组指令的功能是实现位累加器(CY)和其它位地址之间的数据传递。(二)位变量修改指令1、位清0指令 CLR C ;使CY=0CLR bit ;使指令的位地址等于0。例:CLR P1.0 ;即使P1.0变为02、位置1指令 SETB C ;使CY=1SETB bit ;使指定的位地址等于1。3、位取反指令 CPL C ;使CY等于原来的相反的值,由1变 为0,由0变为1。CPL bit ;使指定的位的值等于原来相反的值,由0变为1,由1变为0。 (三)位逻辑运算指令 1、位与指令 ANL C, bit ;CY与指定的位地址的值相

16、与,结果送回CYANL C, /bit ;先将指定的位地址中的值取出后取反,再和CY相与,结果送回CY,但注意,指定的位地址中的值本身并不发生变化。2、位或指令 ORL C, bit; CY与指定的位地址的值相与,结果送回CYORL C, /bit;先将指定的位地址中的值取出后取反,再和CY相与,结果送回CY。二、控制转移指令(一)调用指令1、绝对调用指令ACALL addr11操作:该指令的目标地址的形成与11位地址的无条件转移指令类似,增加断点压栈过程。指令的执行不影响标志位。2、长调用指令LCALL addr16操作:该指令除了压栈操作外与16位地址的无条件转移指令的执行过程相同。指令的

17、执行不影响标志位。上述两条指令用于调用一段子程序。3、返回指令(Return From Subroutine)RET操作:子程序返回指令,它把ACALL或LCAI上保存入椎栈的PC值弹入PC,SP值减2。于是CPU接下来执行的将是ACALLLCALL条指令。RET指令也不影响标志。4、中断返回指令(Return from Interrupt)RETI操作: RETI指令功能有二:第一, 恢复中断时保存入栈的PC值,使被打断的程序得以从断点处恢复执行;第二,恢复中断逻辑,使CPU能够接受与刚处理过的中断同级别的中断请求。5、空操作指令(No Operation)NOP操作: 除PC值增1外,其他

18、寄存器和标志不受影响。此指令常用来得到一个机器周期的延时。 (二)无条件转移类指令 1、短转移类指令 AJMP addr11指令中的地址为11位,其目标地址在指令的2K地址空间内。必须注意的是在形成目标地址之前PC的内容先加2。2、长转移类指令 LJMP addr16在这条指令中,地址是16位的,因此目标地址的选择范围为64K空间的任意单元。该指令不影响标志位。3、相对转移指令 Short JumpSJMP rel 这是两个字节的短跳转指令。其代码的第一个字节为操作码,第二个字节是带符号的相对地址rel,即偏移量。目的地址等于PC值加2之后与该偏移量的代数和。既然相对地址为一个字节,那么其取值

19、范围应是-128rel+127。 4、间接转移指令 JMP A+DPTR 该指令的目标地址由地址寄存器DPTR和累加器A的内容相加形成。该指令不改变DPTR和A中的值,也不影响标志位。 例如下面一段程序: CLRC ;清进位位 RLCA ;累加器内容乘2 MOVDPTR,#TABLH JMPA十DPTRTABLH: AJMP KEY0 AJMPKEYl AJMPKEY2 . . .其功能是:当(A)00H时,程序散转到KEY0;当(A)01H时,散转到KEYl;等(三)条件转移指令条件转移指令是指在满足一定条件时进行相对转移。1、条件转移指令(1)判A内容是否为0转移指令 JZ relJNZ rel第一指令的功能是:如果(A)=0,则转移,否则顺序执行(执行本指令的下一条指令)。第二条指令的功能是:如果A中的值不等于0,就转移 (2

温馨提示

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

评论

0/150

提交评论