#pragma GCC optimize ("Og")
#include "ArduinoTrace.h"
volatile byte dato1=84,dato2=37,dato3=16,resultado;
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
Serial.println("INICIO");
//------------- Proceso en assembly -------------------
//resultado = dato1 - dato2;
asm(
"lds r16,dato1 \n"
"lds r17,dato2 \n"
"sub r16,r17 \n"
"sts resultado,r16"
::: "r16","r17" //clobbered registers
);
//resultado = resultado + dato3;
asm(
"lds r17,dato3 \n"
"add r16,r17 \n"
"sts resultado,r16"
::: "r16","r17" //clobbered registers
);
//------------------------------------------
DUMP(dato1);
DUMP(dato2);
DUMP(dato3);
DUMP(resultado);
}
void loop() {
}