控制转移类指令.pptVIP

  • 16
  • 0
  • 约9.93千字
  • 约 65页
  • 2015-07-29 发布于重庆
  • 举报
控制转移类指令.ppt

三字节指令 机器码:02addr15-8 addr7-0 3、 条件转移指令(13条) 例题:设字节地址(20H)=01H,试分析程序执行后位地址01H、00H中的内容为何值?P1口的8条I/O口线为何状态? clr c mov a,#66h jb 07h,loop1 cpl c setb 01h loop1:orl c,acc.2 jbc acc.2,loop2 clr 00h loop2:mov P1,a end 例5 如果单片机的时钟频率为12MHZ,试设计2ms的延时程序。 编程如下: MOV R2, #200 TIME:NOP NOP NOP NOP NOP NOP NOP NOP DJNZ R2, TIME 3.3.6 位操作类指令   位操作指令的操作数是“位”,其取值只能是0或1,故又称之为布尔操作指令。位操作指令的操作对象是片内RAM的位寻址区(即20H~2FH)和特殊功能寄存器SFR中的11个可位寻址的寄存器。片内RAM的20H~2FH共16个单元128个位,我们为这128个位的每个位均定义一个名称:00H~7FH,称为位地址,如表3.5所示。对于特殊功能寄存器SFR中可位寻址的寄存器的每个位,也有名称定义,如表3.6所示。 表3.5 片内RAM位寻址区的位地址分布 表3.6 SFR中的位地址分布   对于位寻址,有以下四种不同的写法。   第一种是直接地址写法,如MOV C,0D2H,其中,0D2H表示PSW中的OV位地址。   第二种是点操作符写法,如MOV C,0D0H.2。   第三种是位名称写法,即在指令格式中直接采用位定义名称,这种方式只适用于可以位寻址的SFR,如MOV C,OV。   第四种是专用寄存器符号与点操作符表示法,如MOV C,PSW.0。   位操作类指令分为以下五组:   ? 位传送指令(2条):MOV。   ? 位置位和位清0指令(4条):SETB、CLR。   ? 位运算指令(6条):ANL、ORL、CPL。   ? 位转移指令(3条):JB、JNB、JBC。   ? 判CY标志指令(2条):JC、JNC。 1. 位传送指令(2条)   注意:位传送指令的操作数中必须有一个是进位位C,不能在其它两个位之间直接传送。进位位C也称为位累加器。 2. 位置位和位清0指令(4条) 3. 位运算指令(6条)  注意:以上指令结果通常影响程序状态字寄存器PSW的CY标志。 4. 位转移指令(3条)   注意:① ?JBC与JB指令的区别是:前者转移后把寻址位清0,后者只转移而不把寻址位清0。   ② 以上指令结果不影响程序状态字寄存器PSW。  5. 判CY标志指令(2条) 注意:以上结果不影响程序状态字寄存器PSW。   例3.16 用位操作指令编程计算逻辑方程P1.7=ACC.0×(B.0+P2.1)+ ,其中“+”表示逻辑或,“×”表示逻辑与。   解: 程序段如下:   MOV C,B.0 ;B.0→C   ORL  C,P2.1 ;C或P2.1→C   ANL   C,ACC.0 ;C与ACC.0→C,即ACC.0×(B.0+P2.1) →C   ORL   C,/P3.2 ;C或/P3.2,即ACC.0×(B.0+P2.1)+ →C   MOV  P1.7,C ;C →P1.7   3.3.7 常用伪指令   1. 定位伪指令ORG   格式:     [标号:] ORG 地址表达式   功能:规定程序块或数据块存放的起始位置。   例如:ORG 1000H ;表示下面的指令MOV A, ;#20H存放于1000H开始的单元    MOV A,#20H 第3章 MCS-51指令系统 第3章 MCS-51指令系统 实训3 指令的应用 3.1 简介 3.2

文档评论(0)

1亿VIP精品文档

相关文档