Your SlideShare is downloading. ×
ADCOperacion:Rd ← Rd + Rr + CSyntaxis:              Operandos:                  Contador del programa:ADC Rd,Rr           ...
Syntaxis:                 Operandos:                    Contador del Programa:SUB Rd,Rr                 0 ≤ d ≤ 31, 0 ≤ r ...
(i) Rd+1:Rd ← Rd+1:Rd - KSyntaxis:                 Operandos:                            Contador del Programa:(i) SBIW Rd...
ORI - O lógico inmediataOperación:(i) Rd ← Rd v KSintaxis:                    Operandos:                     Contador de P...
Operación:(i) RD ← Rd. v KSintaxis:                           Operandos:                    Contador de Programa: (i) SBR ...
Sintaxis:                      Operandos:             Contador de Programa:(i) DEC Rd.               0 ≤ d ≤ 31           ...
Operación:(i) R1: R0 ← Rd. × RR (sin signo ← sin signo x signo)Sintaxis:                      Operandos:                  ...
Operación:(I) R1: R0 ← Rd. × RR (sin signo (1,15) ← sin signo (1,7) × sin signo (1.7))Sintaxis:                    Operand...
Si H = 1 entonces descifrar ronda (R7-R0, R15-R8, K)Sintaxis:                    Operandos:                  Contador de P...
palabras 64K (128K bytes) parte de la memoria de programa. Esta instrucción no está disponibleen todos los dispositivos. C...
(la instrucción después de la rcall) se almacena en la pila. Véase también el LLAMADO. Para AVRmicrocontroladores con memo...
(ii) PC ← k Devices with 22 bits PC, 8M bytes Program memory maximum..Sintaxis:                         Operandos:        ...
MOV Rd, Rr Copy Register Rd Rr None 1MOVW Rd, Rr Copy Register Pair Rd+1:Rd   Rr+1:Rr None 1LDI Rd, K Load Immediate Rd KN...
Upcoming SlideShare
Loading in...5
×

Instrucciones avr

1,341

Published on

0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,341
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
79
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Transcript of "Instrucciones avr"

  1. 1. ADCOperacion:Rd ← Rd + Rr + CSyntaxis: Operandos: Contador del programa:ADC Rd,Rr 0 ≤ d ≤ 31, 0 ≤ r ≤ 31 PC ← PC + 1Descripción:Añade dos registros y el contenido de la bandera C y coloca el resultado en el registro de destinoRd.16ADD - Agregar, sin CarryOperación:Rd ← Rd + RrSintaxis: Operandos: Contador de Programa:ADD Rd, Rr 0 ≤ d ≤ 31, 0 ≤ r ≤ 31 PC ← PC + 1Descripción:Añade dos registros sin la bandera C y coloca el resultado en el registro de destino Road.ADIW - Añadir inmediata a la Palabra deOperación:RD :Rd ← Rd 1: RD + KSintaxis: Operandos: Contador de Programa:(i) ADIW Rd. 1: Rd, K d ∈ {24,26,28,30}, 0 ≤ K ≤ 63 PC ← PC + 1Descripción:Agrega un valor inmediato (0 - 63) a un par de registro y coloca el resultado en el par de registros.Esta instrucción opera sobre los pares de registro superior cuatro, y se adapta bien para lasoperaciones en los registros de puntero.Esta instrucción no está disponible en todos los dispositivos. Consulte el resumen de un dispositivoespecífico conjunto de instrucciones.SUB - restar sin llevarOperacion:Rd ← Rd - Rr
  2. 2. Syntaxis: Operandos: Contador del Programa:SUB Rd,Rr 0 ≤ d ≤ 31, 0 ≤ r ≤ 31 PC ← PC + 1Descripción:Resta dos registros y coloca el resultado en la Calle de registro de destino.SUBI - Restar inmediataOperación:(i) Rd ← Rd - KSyntaxis: Operandos: Contador del Programa:(i) SUBI Rd,K 16 ≤ d ≤ 31, 0 ≤ K ≤ 255 PC ← PC + 1Descripción:Resta un registro y una constante y coloca el resultado en el registro de destino "Rd". Estainstrucción se está trabajando en el Registro R16 a R31 y está muy bien adaptado para lasoperaciones en la X, Y y Z de los punteros.SBC - Resta con CarryOperación:(i) Rd ← Rd - Rr - CSyntaxis: Operandos: Contador del Programa:(i) SBC Rd,Rr 0 ≤ d ≤ 31, 0 ≤ r ≤ 31 PC ← PC + 1Descripción:Resta dos registros y resta con la bandera C y coloca el resultado en la Calle de registro de destino.SBCI - Resta inmediato con CarryOperación:(i) Rd ← Rd - K - CSyntaxis: Operandos: Contador del Programa:(i) SBCI Rd,K 16 ≤ d ≤ 31, 0 ≤ K ≤ 255 PC ← PC + 1Descripción:Resta una constante a partir de un registro y resta con la bandera C y coloca el resultado en elregistro de destino "Rd".SBIW - Restar inmediata de la PalabraOperación:
  3. 3. (i) Rd+1:Rd ← Rd+1:Rd - KSyntaxis: Operandos: Contador del Programa:(i) SBIW Rd+1:Rd, K d ∈ {24,26,28,30}, 0 ≤ K ≤ 63 PC ← PC + 1Descripción:Resta un valor inmediato (0-63) a partir de un par de registro y coloca el resultado en el parde registros. Esta instrucción opera sobre los pares de registro superior cuatro, y se adaptabien para las operaciones en los Registros de puntero.Esta instrucción no está disponible en todos los dispositivos. Consulte el resumen de undispositivo específico conjunto de instrucciones.AND – y LogicaOperación:Rd ← Rd • RrSintaxis: Operandos: Contador de Programa:AND Rd,Rr 0 ≤ d ≤ 31, 0 ≤ r ≤ 31 PC ← PC + 1Descripción:Realiza la operación lógica AND entre el contenido del registro Rd y Rr registro y coloca elresultado en el registro de destino "Rd".ANDI - lógica y inmediataOperación:(i) Rd ← Rd • KSintaxis: Operandos: Contador de Programa:(i) ANDI Rd,K 16 ≤ d ≤ 31, 0 ≤ K ≤ 255 PC ← PC + 1Descripción:Realiza la operación lógica AND entre el contenido del registro Rd. y una constante ycoloca el resultado en el destino registro "Rd".OR - OR lógicoOperación:(i) Rd ← Rd v RrSintaxis: Operandos: Contador de Programa:(i) OR Rd, Rr 0 ≤ d ≤ 31, 0 ≤ r ≤ 31 PC ← PC + 1Descripción:Realiza la operación lógica OR entre el contenido del registro Rd y Rr registro y coloca el resultadoen el registro de destino "Rd".
  4. 4. ORI - O lógico inmediataOperación:(i) Rd ← Rd v KSintaxis: Operandos: Contador de Programa: (i) ORI Rd, K 16 ≤ d ≤ 31, 0 ≤ K ≤ 255 PC ← PC + 1Descripción:Realiza la operación lógica OR entre el contenido del registro Rd. y una constante y coloca elresultado en el registro de destino "Rd".EOR - OR exclusivoOperación:(i) RD ← Rd. ⊕ RrSintaxis: Operandos: Contador de Programa:(i) EOR Rd., RR 0 ≤ d ≤ 31, 0 ≤ r ≤ 31 PC ← PC + 1Descripción:Lleva a cabo la recuperación asistida del OR exclusivo entre el contenido del registro Rd y Rrregistro y coloca el resultado en el registro de destino "Rd".COM - complemento a uno.Operación:(i) Rd ← $ FF - Rd.Sintaxis: Operandos: Contador de Programa: (i) COM Rd. 0 ≤ d ≤ 31 PC ← PC + 1Descripción:Esta instrucción se lleva a cabo un complemento Uno de registro Rd.NEG - el complemento a dosOperación:(i) RD ← $ 00 - CalleSintaxis: Operandos: Contador de Programa: (i) NEG Rd. 0 ≤ d ≤ 31 PC ← PC + 1Descripción:Reemplaza el contenido del registro Rd con complemento de sus dos mujeres; el valor de $ 80 semantiene sin cambios.SBR - conjunto de bits en el Registro.
  5. 5. Operación:(i) RD ← Rd. v KSintaxis: Operandos: Contador de Programa: (i) SBR Rd, K 16 ≤ d ≤ 31, 0 ≤ K ≤ 255 PC ← PC + 1Descripción:Establece bits especificado en el registro Rd.. Realiza la lógica ORI entre el contenido del registroRd. y una máscara constante K y coloca el resultado en RD registro de destinoCBR - Borrar los bits en el RegistroOperación:(i) R Rd. ← Road • ($ FF - K)Sintaxis: Operandos: Contador de Programa: (i) CBR Rd, K 16 ≤ d ≤ 31, 0 ≤ K ≤ 255 PC ← PC 1Descripción:Borra los bits especificado en el registro Rd.. Realiza la. Lógica AND entre el contenido delregistro Rd. y el complemento de la constante K. máscara se coloca El resultado en elregistro Rd.INC - Incremento deOperación:(i) R Rd. ← Rd 1Sintaxis: Operandos: Contador de Programa:(i) INC Rd. 0 ≤ d ≤ 31 PC ← PC 1Descripción:Añade un -1 - para el contenido del registro Rd. y coloca el resultado en el registro dedestino Rd.. La bandera C en SREG no se ve afectada por la operación, permitiendo así quela instrucción INC para ser utilizado en un contador de bucle en los cálculos de precisiónmúltiple.Cuando se opera en números sin signo, sólo ramas BREQ y Brne se puede esperar que unrendimiento consistente. Cuando se trabaja con valores de complemento a dos, todas lasramas firmados están disponiblesDEC - DecrementoOperación:(i) Rd. ← Rd. - 1
  6. 6. Sintaxis: Operandos: Contador de Programa:(i) DEC Rd. 0 ≤ d ≤ 31 PC ← PC 1Descripción:Resta un -1 - de los contenidos de registro Rd. y coloca el resultado en el registro de destinoRoad. La bandera C en SREG no se ve afectada por la operación, permitiendo así que lainstrucción diciembre para ser utilizado en un contador de bucle en los cálculos deprecisión múltiple. Cuando se opera en valores sin signo, sólo ramas BREQ y Brne sepuede esperar que un rendimiento consistente. Cuando se trabaja con valores decomplemento a dos, todas las ramas firmados están disponibles.TST - Prueba de cero o MenosOperación:(i) R Rd. ← Rd. • RDSintaxis: Operandos: Contador de Programa:(i) TST Rd. 0 ≤ d ≤ 31 PC ← PC 1Descripción:Comprueba si un registro es cero o negativo. Realiza una operación lógica AND entre unregistro y sí mismo. El registro se mantendrá sin cambios.CLR - Claro RegistrarseOperación:(i) R Rd. ← Rd. ⊕ Rd.Sintaxis: Operandos: Contador de Programa: (i) CLR Rd. 0 ≤ d ≤ 31 PC ← PC 1Descripción:Borra un registro. Esta instrucción realiza un OR exclusivo entre un registro y sí mismo.Esto borrará todos los bits en el registro.SER - Establecer todos los bits del registroOperación:(i) Rd ← $ FFSintaxis: Operandos: Contador de Programa:(i) SER Rd. 16 ≤ d ≤ 31 PC ← PC 1Descripción: Carga $ FF directamente al registro de Calle.MUL - Multiplicar sin firmar
  7. 7. Operación:(i) R1: R0 ← Rd. × RR (sin signo ← sin signo x signo)Sintaxis: Operandos: Contador de Programa:(i) MUL Rd., RR 0 ≤ d ≤ 31, 0 ≤ r ≤ 31 PC ← PC 1Descripción:Esta instrucción realiza de 8-bits x 8-bits → 16-bits sin signo de multiplicación.El RD multiplicando y el multiplicador del RR son dos registros que contienen números sinsigno. El producto entero de 16 bits se encuentra en R1 (byte alto) y R0 (low). Tenga encuenta que si el multiplicando o el multiplicador se selecciona de R0 o R1 el resultado sesobreponen a los que después de la multiplicación. Esta instrucción no está disponible entodos los dispositivos. Consulte el resumen de un dispositivo específico conjunto deinstrucciones.Muls - Multiplicar con signoOperación:(I) R1: R0 ← Rd. × Rr (firmado ← firmado × firmado)Sintaxis: Operandos: Contador de Programa:(I) Muls Rd, Rc 16 ≤ d ≤ 31, 16 ≤ r ≤ 31 PC ← PC 1Descripción:Esta instrucción realiza de 8-bits x 8-bits → 16-bits multiplicación firmado. El RD multiplicando y elmultiplicador del RR son dos registros que contienen números con signo. El producto de 16 bitscon signo se coloca en R1 (byte alto) y R0 (low). Esta instrucción no está disponible en todos losdispositivos. Consulte el resumen de un dispositivo específico conjunto de instrucciones.MULSU - Multiplicar Firmado con UnsignedOperación:(I) R1: R0 ← Rd. × Rr (firmado ← firmado × sin signo)Sintaxis: Operandos: Contador de Programa:(I) MULSU Rd, Rc 16 ≤ d ≤ 23, 16 ≤ r ≤ 23 PC ← PC 1Descripción:Esta instrucción realiza de 8-bits x 8-bits → 16-bits multiplicación de una firma y un número sinsigno.El RD multiplicando y el multiplicador del RR son dos registros. El RD multiplicando es un númerocon signo, y el multiplicador Rr no tiene signo. El producto de 16 bits con signo se coloca en R1(byte alto) y R0 (low). Esta instrucción no está disponible en todos los dispositivos. Consulte elresumen de un dispositivo específico conjunto de instrucciones.FMUL - Unsigned Multiplicar fraccional
  8. 8. Operación:(I) R1: R0 ← Rd. × RR (sin signo (1,15) ← sin signo (1,7) × sin signo (1.7))Sintaxis: Operandos: Contador de Programa:(I) FMUL Rd., Rr 16 ≤ d ≤ 23, 16 ≤ r ≤ 23 PC ← PC 1Descripción:Esta instrucción se lleva a cabo de 8-bits x 8-bit → 16-bit sin signo de multiplicación y cambia elresultado de un bit a la izquierda. Sea (NQ) indican un número fraccionario con los dígitos binariosde N a la izquierda del punto de base, y los dígitos binarios Q derecha del punto de base. Unamultiplicación de dos números en los formatos (N1.Q1) y (N2.Q2) resultados en el formato ((N1,N2).FMULS - Multiplicar fraccional FirmadoOperación:(I) R1: R0 ← Rd. × Rr (firmado (1,15) ← firmado (1,7) × firmado (1,7))Sintaxis: Operandos: Contador de Programa:(I) FMULS Rd, Rc 16 ≤ d ≤ 23, 16 ≤ r ≤ 23 PC ← PC + 1Descripción:Esta instrucción se lleva a cabo de 8-bits x 8-bit → 16-bit de multiplicación firmado y cambia elresultado de un bit a la izquierda. Sea (NQ) indican un número fraccionario con los dígitos binariosde N a la izquierda del punto de base, y los dígitos binarios Q derecha del punto de base. Unamultiplicación de dos números en los formatos (N1.Q1) y (N2.Q2) resultados en el formato ((N1 +N2). (Q1 + Q2)).FMULSU - Multiplicar fraccional Firmado con Unsigned.Operación:(i) R1: R0 ← Rd. × Rr (firmado (1,15) ← firmado (1,7) × sin signo (1.7))Sintaxis: Operandos: Contador de Programa:(i) FMULSU Rd, Rc 16 ≤ d ≤ 23, 16 ≤ r ≤ 23 PC ← PC 1Descripción:Esta instrucción se lleva a cabo de 8-bits x 8-bit → 16-bit de multiplicación firmado y cambia elresultado de un bit a la izquierda. Sea (NQ) indican un número fraccionario con los dígitos binariosde N a la izquierda del punto de base, y los dígitos binarios Q derecha del punto de base. Unamultiplicación de dos números en los formatos (N1.Q1) y (N2.Q2) resultados en el formato ((N1,N2). (T1 T2))DES - Data Encryption Standard.Operación:(i) Si H = 0, entonces Cifrar ronda (R7-R0, R15-R8, K)
  9. 9. Si H = 1 entonces descifrar ronda (R7-R0, R15-R8, K)Sintaxis: Operandos: Contador de Programa:(i) DES 0x00 K ≤ K ≤ 0x0F PC ← PC 1Descripción:El módulo es una extensión del conjunto de instrucciones a la CPU AVR, la realización deiteraciones DES. El bloque 64-bit de datos (texto o texto cifrado) se coloca en el archivo de registrode la CPU, registros R0-R7, donde LSB de datos se colocan en LSB de R0 y MSB de datos se colocanen MSB de R7. El total de 64-bits (incluyendo los bits de paridad) se coloca en los registros R8-R15,organizado en el archivo de registro con el LSB de clave en la LSB y MSB de la R8 de la clave en elMSB del R15. Ejecución de una instrucción DES realizará un ciclo en el algoritmo DES. Dieciséisrondas deben ser ejecutadas en orden creciente para formar la correcta cifrado DES o texto plano.Los resultados intermedios se almacenan en el registro de archivo (R0-R15) operando DES deinstrucciones (K) determina que todo se ejecuta, y la bandera de acarreo de la mitad (H)determina si el cifrado o descifrado se realizaInstrucciones de saltoRJMP - salto relativoOperación:(I) PC ← PC + k + 1Sintaxis: Operandos: Contador de Programa: Pila(I) RJMP k-2 K ≤ k <2K PC ← PC + k + 1 sin cambiosDescripción:Salto relativo a una dirección dentro de PC - 2K +1 y PC + 2K (palabras). Para losmicrocontroladores AVR con memoria de programa que no exceda de 4 K palabras (8K bytes) estainstrucción puede abordar toda la memoria de todas las ubicaciones de direcciones. Véasetambién el JMP.IJMP - salto indirectoOperación: (I) ← PC Z (15:00) Los dispositivos con PC de 16 bits, el máximo de 128 Kb de memoria deprograma.(Ii) PC (15:00) ← Z (15:00) Los dispositivos con PC 22 bits, bytes Programa 8M de memoriamáxima.PC (21:16) ← 0Sintaxis: Operandos: Contador de Programa: Pila:(I), (ii) Ninguna IJMP Consulte Operación no afectadaDescripción:Salto indirecto a la dirección apuntada por la Z (16 bits) un registro puntero en el archivo deRegistro. El Registro de Z-puntos es de 16 bits de ancho y permite saltar dentro de los más bajos
  10. 10. palabras 64K (128K bytes) parte de la memoria de programa. Esta instrucción no está disponibleen todos los dispositivos. Consulte el resumen de un dispositivo específico conjunto deinstrucciones.EIJMP - salto indirecto extendidoOperación:PC (15:00) ← Z (15:00)PC (21:16) ← EindSintaxis: Operandos: Contador de Programa: Pila:(I) Ninguna EIJMP Consulte Operación no afectadaDescripción:Salto indirecto a la dirección apuntada por la Z (16 bits) un registro puntero en el Archivo deRegistro y el Registro Eind en el espacio de E / S. Esta instrucción permite saltos indirectos a latotalidad 4M (palabras) el espacio de memoria del programa. Véase también IJMP. Estainstrucción no está disponible en todos los dispositivos. Consulte el resumen de un dispositivoespecífico conjunto de instrucciones.JMP - Saltar.Operación:(I) ← PC kSintaxis: Operandos: Contador de Programa: Pila:(I) JMP k 0 ≤ k <k PC ← 4M sin cambiosDescripción:Ir a una dirección dentro de la totalidad 4M (palabras) de memoria de programa. Véase tambiénRJMP. Esta instrucción no está disponible en todos los dispositivos. Consulte el resumen de undispositivo específico conjunto de instruccionesRcall - Convocatoria relativa a la subrutinaOperación: (I) PC ← PC + k + 1 Los dispositivos con PC de 16 bits, bytes Programa de 128K de memoriamáxima.(Ii) PC ← PC + k + 1 Los dispositivos con PC 22 bits, bytes máximo de 8M de memoria de programa.Sintaxis: Operandos: Contador de Programa: Pila:(I) rcall k-2 K ≤ k <2K PC ← PC + k + 1 PILA ← PC + 1 SP ← SP - 2 (2 bytes, 16 bits)(Ii) rcall k-2 K ≤ k <2K PC ← PC + k + 1 PILA ← PC + 1 SP ← SP - 3 (3 bytes, 22 bitsDescripción:Llamada relativa a una dirección dentro PC - 2K + 1 + 2K y PC (las palabras). La dirección de retorno
  11. 11. (la instrucción después de la rcall) se almacena en la pila. Véase también el LLAMADO. Para AVRmicrocontroladores con memoria de programa que no exceda de 4 K palabras (8K bytes)esta instrucción puede abordar toda la memoria de todas las ubicaciones de direcciones. Elpuntero de pila utiliza un esquema de decremento posterior durante rcall.Call - llamada indirecta a la subrutinaOperación: (I) PC (15:00) ← Z (15:00) Los dispositivos con PC de 16 bits, el máximo de 128 Kb de memoria deprograma.(Ii) PC (15:00) ← Z (15:00) Los dispositivos con PC 22 bits, bytes Programa 8M de memoriamáxima.PC (21:16) ← 0Sintaxis: Operandos: Contador de Programa: Pila: (I) iCall pila de operación ← PC + 1 SP ← SP - 2 (2 bytes, 16 bits)(Ii) iCall pila de operación ← PC + 1 SP ← SP - 3 (3 bytes, 22 bits)Descripción:Llama a una subrutina dentro de la totalidad 4M (palabras) de memoria de programa. La direcciónde retorno (a la instrucción después de la llamada) se almacena en la pila. Véase también rcall. Elpuntero de pila utiliza un esquema de decremento posterior durante la llamada. Esta instrucciónno está disponible en todos los dispositivos. Consulte las instrucciones del dispositivo específicoEICALL - Convocatoria extendido indirecta a subrutinaOperación:(I) PC (15:00) ← Z (15:00)PC (21:16) ← EindSintaxis: Operandos: Contador de Programa: Pila:(I) EICALL pila de operación ← PC + 1 SP ← SP - 3 (3 22 bits)Descripción:Llamada indirecta de una subrutina a la que apunta la Z (16 bits) un registro puntero en el Archivode Registro y el Registro Eind en el espacio de E / S. Esta instrucción permite llamadas indirectas ala totalidad 4M (palabras) el espacio de memoria del programa. Véase también iCall. LaStack Pointer utiliza un esquema de decremento posterior durante EICALL. Esta instrucción no estádisponible en todos los dispositivos. Consulte el resumen de un dispositivo específico conjunto deinstrucciones.CALL - Convocatoria largo de una subrutinaOperación:(i)P PC ← k Devices with 16 bits PC, 128K bytes Program memory maximum.
  12. 12. (ii) PC ← k Devices with 22 bits PC, 8M bytes Program memory maximum..Sintaxis: Operandos: Contador de programa:(i) CALL k 0 ≤ k < 64K PC ← kSTACK ← PC+2 SP ← SP-2, (2 bytes, 16 bits)(ii) CALL k 0 ≤ k < 4M PC ← kSTACK ← PC+2 SP ← SP-3 (3 bytes, 22 bits)Descripción:Las llamadas a una subrutina dentro de la memoria del programa entero. La dirección de retorno(a la instrucción después de la llamada) se almacena en la pila. (Véase también rcall). El puntero depila utiliza un esquema de decremento posterior durante la instrucción CALL.This no estádisponible en todos los dispositivos. Consulte el resumen de un dispositivo específico conjunto deinstrucciones.RET Subroutine Return PC STACK None 4 / 5RETI Interrupt Return PC STACK I 4 / 5CPSE Rd,Rr Compare, Skip if Equal if (Rd = Rr) PC PC + 2 or 3 None 1 / 2 / 3CP Rd,Rr Compare Rd - Rr Z,C,N,V,S,H 1CPC Rd,Rr Compare with Carry Rd - Rr - C Z,C,N,V,S,H 1CPI Rd,K Compare with Immediate Rd - K Z,C,N,V,S,H 1SBRC Rr, b Skip if Bit in Register Cleared if (Rr(b) = 0) PC PC + 2 or 3 None 1 /SBRS Rr, b Skip if Bit in Register Set if (Rr(b) = 1) PC PC + 2 or 3 None 1 / 2 / 3SBIC A, b Skip if Bit in I/O Register Cleared if (I/O(A,b) = 0) PC PC + 2 or 3 NoneSBIS A, b Skip if Bit in I/O Register Set If (I/O(A,b) =1) PC PC + 2 or 3 None 1 / 2BRBS s, k Branch if Status Flag Set if (SREG(s) = 1) then PC PC + k + 1 None 1BRBC s, k Branch if Status Flag Cleared if (SREG(s) = 0) then PC PC + k + 1BREQ k Branch if Equal if (Z = 1) then PC PC + k + 1 None 1 / 2BRNE k Branch if Not Equal if (Z = 0) then PC PC + k + 1 None 1 / 2BRCS k Branch if Carry Set if (C = 1) then PC PC + k + 1 None 1 / 2BRCC k Branch if Carry Cleared if (C = 0) then PC PC + k + 1 None 1 / 2BRSH k Branch if Same or Higher if (C = 0) then PC PC + k + 1 None 1 / 2BRLO k Branch if Lower if (C = 1) then PC PC + k + 1 None 1 / 2BRMI k Branch if Minus if (N = 1) then PC PC + k + 1 None 1 / 2BRPL k Branch if Plus if (N = 0) then PC PC + k + 1 None 1 / 2BRGE k Branch if Greater or Equal, Signed if (N V= 0) then PC PC + k + 1BRLT k Branch if Less Than, Signed if (N V= 1) then PC PC + k + 1 None 1 / 2BRHS k Branch if Half Carry Flag Set if (H = 1) then PC PC + k + 1 None 1 / 2BRHC k Branch if Half Carry Flag Cleared if (H = 0) then PC PC + k + 1 None 1BRTS k Branch if T Flag Set if (T = 1) then PC PC + k + 1 None 1 / 2BRTC k Branch if T Flag Cleared if (T = 0) then PC PC + k + 1 None 1 / 2BRVS k Branch if Overflow Flag is Set if (V = 1) then PC PC + k + 1 None 1 / 2BRVC k Branch if Overflow Flag is Cleared if (V = 0) then PC PC + k + 1 None 1BRIE k Branch if Interrupt Enabled if (I = 1) then PC PC + k + 1 None 1 / 2BRID k Branch if Interrupt Disabled if (I = 0) then PC PC + k + 1 None 1 / 2
  13. 13. MOV Rd, Rr Copy Register Rd Rr None 1MOVW Rd, Rr Copy Register Pair Rd+1:Rd Rr+1:Rr None 1LDI Rd, K Load Immediate Rd KNone1LDS

×