2025-11-08 06:32:09
位寻址就是直接操作内存或寄存器里的某个二进制位。比如拿单片机来说,假设有个地址是200h的内存单元,如果我要改这个单元的第5位,就直接说操作数是200h+5h。这跟普通数据寻址不一样,普通的是拿整个字节或字来操作。比如设置小灯常亮,只要把对应位写成1就行,不用管其他位。操作数就是那个具体的位地址,像拿筷子夹菜一样精准。
为什么是这个答案呢?先看硬件结构。比如8051单片机每个端口有8位,位地址是口地址加0-7。比如P1口地址是80h,那P1.3就是80h+3h=83h。查手册发现位寻址能省内存,比如控制8个灯用1字节,普通寻址要8字节。数据手册写得很清楚,位操作指令有MULSBL、MOVDPTR等,操作数都是位地址。比如设置蜂鸣器高电平,指令可能是MOV P3.2, 1h。要是用普通寻址,就要把整个P3口写1FFh,这样会误改其他位。所以位寻址操作数必须是具体的位地址,像拿手术刀切菜一样准。
本题链接: