文档详情

第三章:指令系统报告.ppt

发布:2017-01-17约1.31万字共56页下载文档
文本预览下载声明
《单片机应用系统设计》教学课件 若(A)3~0?9或(AC)=1则(A)3~0?(A)3~0+6; 若(A)7~4?9或(CY)=1则(A)7~4?(A)7~4+6; P.60例5:两个十进制数“65”与“58”相加,根据常识,显然其和应当为“123”。 MOV A,#65H ADD A,#58H DA A 结果:(A)= 23H (CY)= 1 ? ? ? 指令 “DA A” 完成的操作: 6 5 0110 0101 5 8 0101 1000 + 1 3 18 19 2 6 6 0110 0110 《单片机应用系统设计》教学课件 若(A)3~0?9或(AC)=1则(A)3~0?(A)3~0+6; 若(A)7~4?9或(CY)=1则(A)7~4?(A)7~4+6; 又如:两个十进制数“39”与“58”相加,根据常识,显然其和应当为“97”。 MOV A,#39H ADD A,#58H DA A 结果:(A)= 97H (CY)= 0 ? ? ? 3 9 0011 1001 5 8 0101 1000 + 0 7 23 9 6 0110 指令 “DA A” 完成的操作: 《单片机应用系统设计》教学课件 (三)逻辑运算及移位类指令(5种/24条) 逻辑与运算: (ANL——6条) 逻辑或运算: (ORL——6条) 逻辑异或运算: (XRL——6条) 累加器清零/取反: (CLR,CPL——2条) 累加器移位操作: (RL,RLC,RR,RRC—4条) 《单片机应用系统设计》教学课件 逻辑运算及移位类指令(续) 逻辑与(ANL),逻辑或(ORL),逻辑异或(XRL): 累加器清零/取反操作 (CLR,CPL——2条) CLR A ——对累加器清零 1 Byte 1 个Tm CPL A ——对累加器按位取非 1 Byte 1 个Tm 指 令 形 式 Byte Tm ANL(ORL,XRL) direct, A 2 1 ANL(ORL,XRL) direct,#data 3 2 ANL(ORL,XRL) A, #data 2 1 ANL(ORL,XRL) A, direct 2 1 ANL(ORL,XRL) A, @Ri 1 1 ANL(ORL,XRL) A, Rn 1 1 《单片机应用系统设计》教学课件 逻辑运算指令的常见用法 逻辑与ANL用于清0或者保留某些位: 例: ANL A, #0FH; 则(A) = 0AH ( 已知累加器A中已存有数:9AH ) 逻辑或ORL用于置1或者保留某些位: 例: ORL A, #0FH; 则(A) = 9FH 逻辑异或XRL用于取反或者保留某些位: 例: XRL A, #0FH; 则(A) = 95H (A) ? 1001 1010 #0FH ? 0000 1111 95H ? 1001 0101 《单片机应用系统设计》教学课件 逻辑运算及移位类指令(续) 累加器移位操作:(RL,RLC,RR,RRC——4条) RL A 左环移 累加器 A 累加器 A Cy 累加器 A Cy 累加器 A RRC A 带进位位右环移 RR A 右环移 RLC A 带进位位左环移 《单片机应用系统设计》教学课件 (四)控制转移类指令(4种/17条) 此类指令改变程序的执行顺序——改变当前PC值 无条件转移: (LJMP,AJMP,SJMP,JMP——4条) 条件转移(判断跳转): (JZ,JNZ,CJNE,DJNZ——8条) 子程序调用及返回: (ACALL,LCALL,RET,RETI——4条) 空操作: (NOP——1条) “耗时”一个机器周期。 do nothing! 《单片机应用系统设计》教学课件 控制转移类指令(续) 无条件转移: LJMP,AJMP,SJMP,JM
显示全部
相似文档