#pragma GCC optimize ("Og")
#include "ArduinoTrace.h"
volatile uint16_t da=37654;
//volatile byte n=8,sum;
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
Serial.println("INICIO");
//------------- Proceso en alto nivel -------------------
//da=da+12785;
// asm(
// "lds r16,da \n" // r16 <--- lsbyte de da
// "lds r17,da+1 \n" //r17 <--- msbyte de da
// "subi r16,lo8((-12785)) \n" //lo8((-12785)) lsbyte r16 <---lo8((da +12785))
// "sbci r17,hi8((-12785)) \n" // hi8 msbyte r17 <---hi8((da +12785))
// "sts da,r16 \n"
// "sts da+1,r17 \n"
// ::: "r16","r17"
// );
asm(
"lds r16,da \n" // r16 <--- lsbyte de da
"lds r17,da+1 \n" //r17 <--- msbyte de da
"subi r16,0x0f \n" //lo8((-12785)) lsbyte r16 <---lo8((da +12785))
"sbci r17,0xce \n" // hi8 msbyte r17 <---hi8((da +12785))
"sts da,r16 \n"
"sts da+1,r17 \n"
::: "r16","r17"
);
//------------------------------------------------------
DUMP(da);
}
void loop() {
}