Download presentation
Presentation is loading. Please wait.
1
认知1 掌握“与”、“或”和“异或”指令格式及应用
单片机应用技术 任务四 学习、应用逻辑运算类指令 下午10时41分 认知1 掌握“与”、“或”和“异或”指令格式及应用 【例3-18】 已知(A)=36H,试分析下面指令执行结果。 (1) ANL A, #00H (2)ANL A, #0FH (3)ANL A, #0F0H (4)ANL A, #0FFH 分析:由“与”指令的真值表:有0出0,全1出1可得出: (A)= 00H (A)= 06H (A)= 30H (A)= 36H 由例题可知:逻辑“与”可以实现清零与保留功能。方法是:需要清零的位与0相“与”,就把该位清0;需要保留的位与1相“与”,就保留1以外的那一位数据。
2
认知1 掌握“与”、“或”和“异或”指令格式及应用
单片机应用技术 任务六 学习、应用逻辑运算类指令 下午10时41分 认知1 掌握“与”、“或”和“异或”指令格式及应用 2、逻辑与运算指令(6条) ORL A,Rn ;A ←(A)V(Rn) ORL A,direct; A ←(A)V(direct) ORL A ←(A)V((Ri)) ORL A, #data; A ←(A)Vdata ORL direct,A ; direct ←(A)V(direct) ORL direct,#data ; direct ←(direct) Vdata ※功能:将A(或者direct)中的值与其后面的值(或单元里面的值)相“或”,并将结果送回到A(或者direct)中。
3
认知1 掌握“与”、“或”和“异或”指令格式及应用
单片机应用技术 任务四 学习、应用逻辑运算类指令 下午10时41分 认知1 掌握“与”、“或”和“异或”指令格式及应用 【3-19】 已知(A)=36H,试分析下面指令执行结果。 (1) ORL A, #00H (2)ORL A, #0FH (3)ORL A, #0F0H (4)ORL A, #0FFH 分析:由“或”指令的真值表:有1出1,全0出0可得出: (1)(A)= 36H (2)(A)= 3FH (3)(A)= F6H (4)(A)= FFH 由例题可知:逻辑“或”可以实现置位与保留功能。方法是:需要 置位的位与1相“或”,则该位就被置1;需要保留的位与0相“或”,就 保留0以外的那一位数据。
4
认知1 掌握“与”、“或”和“异或”指令格式及应用
单片机应用技术 任务四 学习、应用逻辑运算类指令 下午10时41分 认知1 掌握“与”、“或”和“异或”指令格式及应用 3、逻辑异或运算指令(6条) XRL A,Rn ;A ←(A)⊕ (Rn) XRL A,direct; A ←(A)⊕ (direct) XRL A ←(A)⊕ ((Ri)) XRL A, #data; A ←(A)⊕ data XRL direct,A ; direct ←(A)⊕ (direct) XRL direct,#data ; direct ←(direct)⊕ data ※功能:将A(或者direct)中的值与其后面的值(或单元里面的值)相“异或”,并将结果送回到A(或者direct)中。
5
认知1 掌握“与”、“或”和“异或”指令格式及应用
单片机应用技术 任务六 学习、应用逻辑运算类指令 下午10时41分 认知1 掌握“与”、“或”和“异或”指令格式及应用 【例3-20】 已知(A)=36H,试分析下面指令执行结果。 (1) XRL A, #00H (2)XRL A, #0FH (3)XRL A, #0F0H (4)XRL A, #0FFH 分析:由“异或”指令的真值表:相同出0,相异出1可得出: (1) (A)= 36H (2 (A)= 39H (3 (A)= C6H (4 )(A)= C9H 由例题可知:逻辑“异或”可以实现取反与保留功能。方法是 :需要取反的位与1相“异或”,则该位就被取反;需要保留的位与0相 “异或”,就保留0以外的那一位数据。
6
认知1 掌握“与”、“或”和“异或”指令格式及应用
单片机应用技术 任务四 学习、应用逻辑运算类指令 下午10时41分 认知1 掌握“与”、“或”和“异或”指令格式及应用 由以上逻辑“与”、“或”、“异或”看出,逻辑指令可以实现清0 、置位,取反和保留四种功能。具体可以下表示: 逻辑指令功能表 指令 清0 置位 取反 保留 ANL 1 ORL XRL 【例3-21】 试编程将外RAM40H中的数据高4位取反,低2位置1,其余2位清零。 分析:由于数据在外RAM存放,基本思路是读取数据RAM后,进行逻辑操作后,再送到外RAM即可。
7
认知1 掌握“与”、“或”和“异或”指令格式及应用
单片机应用技术 任务四 学习、应用逻辑运算类指令 下午10时41分 认知1 掌握“与”、“或”和“异或”指令格式及应用 MOV R0,#40H MOVX A, @R0 ;将外RAM数据读取到A中 XRL A, #0F0H ;将高4位取反 ORL A, #03H ;将低2位置1 ANL A, #0F3H ;将其余2位清0 MOVX @R0 ,A ;将数据送出
8
认知2 掌握累加器清零与取反指令及移位指令格式及应用
单片机应用技术 任务四 学习、应用逻辑运算类指令 下午10时41分 认知2 掌握累加器清零与取反指令及移位指令格式及应用 累加器清0指令 CLR A ;A ←0 累加器按位取反指令 CPL A ;A ←/A 例:假设(A)=89H,在执行指令 CPL A 后,(A)=76H 89H= 取反: =76H
9
认知2 掌握累加器清零与取反指令及移位指令格式及应用
单片机应用技术 任务四 学习、应用逻辑运算类指令 下午10时41分 认知2 掌握累加器清零与取反指令及移位指令格式及应用 1、左移指令 RL A A.7 A.0 1 假设:(A)=0A6H,则在执行指令“RL A”后, (A)=4DH 执行前(A): 1 执行后(A):
10
认知2 掌握累加器清零与取反指令及移位指令格式及应用
单片机应用技术 任务四 学习、应用逻辑运算类指令 下午10时41分 认知2 掌握累加器清零与取反指令及移位指令格式及应用 2、右移指令 RR A A.7 A.0 1 假设:(A)=0A6H,则在执行指令“RR A”后, (A)=53H 执行前(A): 1 执行后(A):
11
任务四 学习、应用逻辑运算类指令 单片机应用技术 3、带进位循环左移 RLC A
任务四 学习、应用逻辑运算类指令 下午10时41分 3、带进位循环左移 RLC A 例:假设(A)=0A6H,(CY)=0;则在执行指令“RLC A” 后(A)=_____ ,(CY)=______ 执行前: CY A.7 A.0 1 执行后: 1
12
1 任务四 学习、应用逻辑运算类指令 单片机应用技术 4、带进位位循环右移 RRC A
任务四 学习、应用逻辑运算类指令 下午10时41分 4、带进位位循环右移 RRC A 例:假设(A)=0A6H,(CY)=0;则在执行指令“RRC A” 后(A)=_____ ,(CY)=______ 执行前: 1 1 执行后:
13
任务五 学习、应用控制转移类指令 单片机应用技术 认知1 掌握无条件转移指令格式及应用
任务五 学习、应用控制转移类指令 下午10时41分 认知1 掌握无条件转移指令格式及应用 通常情况下,程序运行都是按顺序执行的,有时因为操作需要,需要 改变程序的运行方向,即安排程序跳转到其它指定地址去,这就是程序转 移。控制转移类指令的本质是改变程序计数器PC的内容,从而改变程序的 执行方向。控制转移指令分为:无条件转移指令、条件转移指令和调用/返 回指令等,共计17条。转移类指令包含有条件转移和无条件转移两种 1、无条件转移指令 (1)、长转移指令 LJMP addr16 ; addr16→PC 功能:程序跳转到addr16目的地址的地方执行。 用法: addr16表示16位目的地址,通常用字符串代替;字符串一定 要成对出现。 注意:LJMP 为长转移指令,寻址范围是ROM的64K全程空间,即 字符串可以放在ROM的任何地方,LJMP都是可以寻址的。
Similar presentations