8051中的位操作程序
在本节中,我们将看到使用8051进行一些位操作的操作。8051支持对8位数字的不同位进行的某些操作。这些操作类似于补码,设置为1,移动,与,或运算等。
在此示例中,我们从位置10H取一个AEH,然后对该数据执行以下与位相关的操作后,我们仅将结果存储在位置30H中。
将对该数据执行的与位相关的操作如下-
补码b2
将b5移至b4
或b0和b1的 补码并存储到C(b7)
设定b6
重置位b3
输入为AEH
输出结果
输出为72H
程序
MOV24H,10H;Copy item from 10H to 24H CPL24.2;Complement bit b2 MOVC,24.5;Copy b5 to C MOV24.4,C;Move C to b4 MOVC,24.0;Make copy of b0 to C ORLC,/1;OR C and complement of b1 SETB24.6;Set bit b6 CLR24.3;Reset bit b3 MOV30H,24H; Store the result at 30H HALT: SJMP HALT
从程序中,我们可以轻松获得逻辑。要使用位可寻址操作,我们必须访问20H到2FH的位置。这16个字节用于位可寻址操作。
在位可寻址操作中,进位标志的作用类似于1位累加器。
输出结果
。
。
。
。
。
。