我目前正在阅读有关 avr 汇编程序编程的教程。有说:
位操作 cbr 和 sbr 清除或设置寄存器中的多个位。这些指令仅适用于寄存器 r16 到 r31。它们不使用单个位作为参数,而是使用可以包含多个位的掩码:
sbr r16, (1<<5)+(1<<3) ;set bits 5 and 3 in register 16
cbr r16,0x03 ;clear bits 1 and 0 in register 16
谁能解释一下这两条指令的参数?为什么我必须写 (1<<5)+(1<<3) 才能设置第 5 位和第 3 位?我猜 << 有点像移位操作。