8
atmega8535(l)
2502fs–avr–06/04
操作指南 设置 summary
Mnemonics Operands 描述 运作 Flags #Clocks
arithmetic 和 逻辑 说明
增加 rd, rr 增加 二 寄存器 Rd
←
rd + rr z,c,n,v,h 1
模数转换器 rd, rr 增加 和 carry 二 寄存器 Rd
←
rd + rr + c z,c,n,v,h 1
ADIW rdl,k 增加 立即的 至 文字 rdh:rdl
←
rdh:rdl + k z,c,n,v,s 2
SUB rd, rr 减去 二 寄存器 Rd
←
rd - rr z,c,n,v,h 1
SUBI rd, k 减去 常量 从 寄存器 Rd
←
rd - k z,c,n,v,h 1
SBC rd, rr 减去 和 carry 二 寄存器 Rd
←
rd - rr - c z,c,n,v,h 1
SBCI rd, k 减去 和 carry 常量 从 reg. Rd
←
rd - k - c z,c,n,v,h 1
SBIW rdl,k 减去 立即的 从 文字 rdh:rdl
←
rdh:rdl - k z,c,n,v,s 2
和 rd, rr logical 和 寄存器 Rd
←
Rd
•
Rr z,n,v 1
ANDI rd, k logical 和 寄存器 和 常量 Rd
←
Rd
•
K z,n,v 1
或者 rd, rr logical 或者 寄存器 Rd
←
rd v rr z,n,v 1
ORI rd, k logical 或者 寄存器 和 常量 Rd
←
rd v k z,n,v 1
EOR rd, rr 独有的 或者 寄存器 Rd
←
Rd
⊕
Rr z,n,v 1
COM Rd 一个’s complement Rd
←
0xFF
−
Rd z,c,n,v 1
NEG Rd 二’s complement Rd
←
0x00
−
Rd z,c,n,v,h 1
SBR rd,k 设置 位(s) 在 寄存器 Rd
←
rd v k z,n,v 1
CBR rd,k clear 位(s) 在 寄存器 Rd
←
Rd
•
(0xff - k) z,n,v 1
INC Rd Increment Rd
←
rd + 1 z,n,v 1
DEC Rd Decrement Rd
←
Rd
−
1 z,n,v 1
TST Rd 测试 为 零 或者 minus Rd
←
Rd
•
Rd z,n,v 1
CLR Rd clear 寄存器 Rd
←
Rd
⊕
Rd z,n,v 1
SER Rd 设置 寄存器 Rd
←
0xFF 毫无 1
MUL rd, rr 乘以 unsigned r1:r0
←
rd x rr z,c 2
MULS rd, rr 乘以 signed r1:r0
←
rd x rr z,c 2
MULSU rd, rr 乘以 signed 和 unsigned r1:r0
←
rd x rr z,c 2
FMUL rd, rr fractional 乘以 unsigned r1:r0
←
(rd x rr)
<< 1
z,c 2
FMULS rd, rr fractional 乘以 signed r1:r0
←
(rd x rr)
<< 1
z,c 2
FMULSU rd, rr fractional 乘以 signed 和 unsigned r1:r0
←
(rd x rr)
<< 1
z,c 2
branch 说明
RJMP k 相关的 jump PC
←
pc + k + 1 毫无 2
IJMP 间接的 jump 至 (z) PC
←
Z 毫无 2
RCALL k 相关的 子例程 call PC
←
pc + k + 1 毫无 3
ICALL 间接的 call 至 (z) PC
←
ZNone3
RET 子例程 返回 PC
←
堆栈 毫无 4
RETI 中断 返回 PC
←
堆栈 I 4
CPSE rd,rr 对比, skip 如果 equal 如果 (rd = rr) pc
←
pc + 2 或者 3 毫无 1 / 2 / 3
CP rd,rr 对比 Rd
−
Rr z, n,v,c,h 1
CPC rd,rr 对比 和 carry Rd
−
Rr
−
C z, n,v,c,h 1
CPI rd,k 对比 寄存器 和 立即的 Rd
−
K z, n,v,c,h 1
SBRC rr, b skip 如果 位 在 寄存器 cleared 如果 (rr(b)=0) pc
←
pc + 2 或者 3 毫无 1 / 2 / 3
SBRS rr, b skip 如果 位 在 寄存器 是 设置 如果 (rr(b)=1) pc
←
pc + 2 或者 3 毫无 1 / 2 / 3
SBIC p, b skip 如果 位 在 i/o 寄存器 cleared 如果 (p(b)=0) pc
←
pc + 2 或者 3 毫无 1 / 2 / 3
SBIS p, b skip 如果 位 在 i/o 寄存器 是 设置 如果 (p(b)=1) pc
←
pc + 2 或者 3 毫无 1 / 2 / 3
BRBS s, k branch 如果 状态 标记 设置 如果 (sreg(s) = 1) 然后 pc
←
pc+k + 1 毫无 1 / 2
BRBC s, k branch 如果 状态 标记 cleared 如果 (sreg(s) = 0) 然后 pc
←
pc+k + 1 毫无 1 / 2
BREQ k branch 如果 equal 如果 (z = 1) 然后 pc
←
pc + k + 1 毫无 1 / 2
BRNE k branch 如果 不 equal 如果 (z = 0) 然后 pc
←
pc + k + 1 毫无 1 / 2
BRCS k branch 如果 carry 设置 如果 (c = 1) 然后 pc
←
pc + k + 1 毫无 1 / 2
BRCC k branch 如果 carry cleared 如果 (c = 0) 然后 pc
←
pc + k + 1 毫无 1 / 2
BRSH k branch 如果 一样 或者 高等级的 如果 (c = 0) 然后 pc
←
pc + k + 1 毫无 1 / 2
BRLO k branch 如果 更小的 如果 (c = 1) 然后 pc
←
pc + k + 1 毫无 1 / 2
BRMI k branch 如果 minus 如果 (n = 1) 然后 pc
←
pc + k + 1 毫无 1 / 2
BRPL k branch 如果 加 如果 (n = 0) 然后 pc
←
pc + k + 1 毫无 1 / 2
BRGE k branch 如果 更好 或者 equal, signed 如果 (n
⊕
v= 0) 然后 pc
←
pc + k + 1 毫无 1 / 2
BRLT k branch 如果 较少 比 零, signed 如果 (n
⊕
v= 1) 然后 pc
←
pc + k + 1 毫无 1 / 2
BRHS k branch 如果 half carry 标记 设置 如果 (h = 1) 然后 pc
←
pc + k + 1 毫无 1 / 2
BRHC k branch 如果 half carry 标记 cleared 如果 (h = 0) 然后 pc
←
pc + k + 1 毫无 1 / 2
BRTS k branch 如果 t 标记 设置 如果 (t = 1) 然后 pc
←
pc + k + 1 毫无 1 / 2
BRTC k branch 如果 t 标记 cleared 如果 (t = 0) 然后 pc
←
pc + k + 1 毫无 1 / 2
BRVS k branch 如果 overflow 标记 是 设置 如果 (v = 1) 然后 pc
←
pc + k + 1 毫无 1 / 2
BRVC k branch 如果 overflow 标记 是 cleared 如果 (v = 0) 然后 pc
←
pc + k + 1 毫无 1 / 2
BRIE k branch 如果 中断 使能 如果 ( i = 1) 然后 pc
←
pc + k + 1 毫无 1 / 2
BRID k branch 如果 中断 无能 如果 ( i = 0) 然后 pc
←
pc + k + 1 毫无 1 / 2
数据 转移 说明