#pragma GCC optimize ("Og")
#include "ArduinoTrace.h"
//volatile int8_t dato1=-9,dato2=-6,mayor; //8 bits con signo
//volatile int8_t dato1=-9,dato2=-9,mayor; //8 bits con signo
volatile int8_t dato1=-9,dato2=6,mayor; //8 bits con signo
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
Serial.println("INICIO");
//------------- Proceso en alto nivel -------------------
//if(dato1 >= dato2)
//{
// mayor=dato1;
//}
//else
//{
// mayor=dato2;
//}
//------------------------------------------------------
asm(
"lds r13,dato1 \n"
"lds r14,dato2 \n" //Cargar datos en los registros 13 y 14
"cp r13,r14 \n" //Comparar los datos 1 y 2
"brge L1 \n" //Salto a L1 si dato1 es mayor o igual
"sts mayor,r14 \n" //Si no es mayor o igual se almacena dato2 como mayor
"rjmp Fin \n" //Salto a Fin
"L1: \n"
"sts mayor,r13 \n" //Se almacena dato1 como mayor
"Fin:"
:::"r13","r14"
);
DUMP(dato1);
DUMP(dato2);
DUMP(mayor);
}
void loop() {
}