AVR汇编(七):位操作和MCU控制指令¶
位操作指令¶
SBI
/ CBI
¶
SBI
指令用于设置I/O寄存器中的第 b
位, CBI
指令用于清除I/O寄存器中的第 b
位。
例如:
移位¶
LSL
指令用于逻辑左移,低位补0。
LSR
指令用于逻辑右移,高位补0。
ASR
指令用于算术右移,高位补符号位。
ROL
指令用于循环左移,低位补 C
标志位,高位进入 C
标志位。
ROR
指令用于循环右移,高位补 C
标志位,低位进入 C
标志位。
例如:
SWAP
¶
SWAP
指令用于交换寄存器的高低4位。
例如:
BSET
/ BCLR
¶
BSET
用于设置 SREG
寄存器中的第 s
位, BCLR
用于清除 SREG
寄存器中的第 s
位。
例如:
BST
/ BLD
¶
BST
用于将寄存器中的第 b
位保存到 T
标志位, BLD
用于将 T
标志位加载到寄存器的第 b
位。
例如:
SEx
/ CLx
¶
形如 SEx
的指令用于设置 SREG
寄存器中对应的标志位,形如 CLx
的指令用于清除 SREG
寄存器中对应的标志位,这两条指令作用和 BSET
/ BCLR
指令相同。
例如:
MCU控制指令¶
NOP
指令占用一个周期而不做任何操作。
SLEEP
指令用于进入睡眠模式。
WDR
指令用于复位看门狗。
BREAK
指令供调试系统使用,应用程序用不到。