《位操作类指令课件.ppt》由会员分享,可在线阅读,更多相关《位操作类指令课件.ppt(7页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、3.3.4 位操作类指令位操作类指令 位操作指令的操作数是位操作指令的操作数是“位位”,其取值只能,其取值只能是是 0 或或 1,故又称为布尔操作指令。,故又称为布尔操作指令。 位操作指令的操作对象是片内位操作指令的操作对象是片内 RAM 的位寻的位寻址区(址区(20H2FH)和特殊功能寄存器)和特殊功能寄存器 SFR 中可位寻址的寄存器中的位中可位寻址的寄存器中的位,一共一共211位。位。 位的传送和运算必须通过位的传送和运算必须通过CY,所以,所以 CY 也称也称为为C,又称为位累加器又称为位累加器. 位地址有三种不同的写法:位地址有三种不同的写法:1)直接地址直接地址写法:写法:09H
2、(21H的第的第1位位),7FH (2FH的第的第7位位)。 2)点操作符点操作符写法:写法:21H.1,0D0H.2 ,P1.0 。 3)位名称位名称写法写法: a) 可以位寻址的可以位寻址的SFR, 如:如:OV, P, TR0。 b) 用用equ(或或bit) 定义的位地址,如:定义的位地址,如:flag1 equ 23h 位传送指令(位传送指令(2条)条)MOV C, bit;C(bit) MOV bit, C;bit(C) 功能功能: 把源操作数指出的逻辑值送到目的把源操作数指出的逻辑值送到目的操作数指定的位地址单元中。操作数指定的位地址单元中。 其中一个操作数必须为进位标志其中一个
3、操作数必须为进位标志CY, 简写简写为为C; 另一个操作数可以是任何可直接寻址位。另一个操作数可以是任何可直接寻址位。 位状态设置指令(位状态设置指令(4条)条)(1)位清)位清0指令指令: CLR C; C0 CLR bit; bit0 这组指令的功能是这组指令的功能是:位单元的值清零。位单元的值清零。(2)位置)位置1指令指令: SETB C; CY1 SETB bit ; bit1 这组指令的功能是这组指令的功能是:位单元的值设置为位单元的值设置为1。如执行指令如执行指令“SETB ACC.1”后,后,(ACC.1)=1。 位逻辑运算指令(位逻辑运算指令(6条)条)(1)位逻辑)位逻辑“
4、与与”运算指令运算指令: ANL C,bit; C(CY) (bit) ANL C,/bit;C(CY)/(bit) 这组指令的功能是这组指令的功能是: 将两个位操作数的内容进行将两个位操作数的内容进行逻辑与操作逻辑与操作, 并将结果送回进位标志并将结果送回进位标志CY中,不影中,不影响其它标志位。响其它标志位。 bit前的斜杠表示对前的斜杠表示对(bit)取反取反, 直接寻址位取反后直接寻址位取反后用作源操作数用作源操作数, 但但不改变直接寻址位原来的值不改变直接寻址位原来的值。 例如例如: 指令指令“ANL C, /ACC.0”,执行前,执行前ACC.0为为1, CY为为1,指令执行后指令
5、执行后CY为为0, 而而ACC.0仍为仍为1。 (2)位逻辑)位逻辑“或或”运算指令运算指令: ORL C,bit;C(CY)(bit) ORL C,/bit;C(CY)/(bit) 这组指令的功能是这组指令的功能是: 将两个位操作数的内容将两个位操作数的内容进行逻辑或操作进行逻辑或操作, 并将结果送回进位标志并将结果送回进位标志CY中,不影响其它标志位。中,不影响其它标志位。 例如例如: 指令指令“ORL C, ACC.0”,执行前,执行前ACC.0为为1, CY为为0,指令执行后指令执行后CY为为1。(3)位取反指令)位取反指令: CPL C;C/(CY) CPL bit; bit/(bit) 这组指令的功能是这组指令的功能是:位单元的值取反后仍位单元的值取反后仍保存在原处。保存在原处。 例如例如 (CY)=1,执行指令执行指令“CPL C”后,后,(CY)=0。
限制150内