通过位地址寻找操作数的寻址方式称为位寻址。位寻址是对片内RAM的位寻址区(20H~2FH)、可以位寻址的专用寄存器的各位,进行位操作的寻址方式。可以位寻址的寻址范围是216位的位地址空间,分为两部分。
1)内部RAM中的位寻址区中字节地址为20H~2FH的共128个位,位地址范围为00H~7FH。把位40H的值送到进位位Cy,可写为MOV C,40H或MOV C,(28H).0。
2)可位寻址的11个特殊功能寄存器共88位。
SFR中的可寻址位:2FH单元中的最高位可表示为7FH或2FH.7;程序状态字PSW的第5位可表示为0D5H、0D0H.5、F0或PSW.5。需要指出的是,在位寻址指令中,PSW的最高位D7(进位/借位标志位)Cy不采用以上形式表示,而是用符号C表示。
例3-6:用4种表示方法把PSW第5位F0置1。
①直接使用位表示方法:SETB 0D5H。
②位名称的表示方法:SETB F0。
③单元地址加位数的表示方法:SETB (0D0H).5。
④特殊功能寄存器符号加位数的表示方法:SETB PSW.5。(www.xing528.com)
编写或阅读指令时,应注意位地址bit和直接地址direct的区别。
MOV A,2FH;A←(2FH)
MOV C,2FH;Cy←(2FH)
在第一条指令中,由于目标寄存器是累加器A,因此,指令中的2FH是直接地址direct,传送的数据是8位二进制数。
在第二条指令中,由于目标寄存器是进位/借位标志位Cy,故其2FH属于位地址bit,这个位单元是字节地址为25H单元中的最高位D7,传送的数据是1位二进制数。该位寻址指令MOV C,2FH执行过程如图3-9所示。
图3-9 位寻址示意图
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。