#pragma GCC optimize "-Og"
#include "ArduinoTrace.h"
//volatile unsigned int a; //lo mismo
volatile uint16_t a=45000,b=15000,c; //lo mismo //max 65535
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
asm volatile(
"lds r18,a \n" //bit menos significativo de a
"lds r19,a+1 \n" //bit mas significativo de a
"lds r20,b \n" //bit menos significativo de b
"lds r21,b+1 \n" //bit mas significativo de b
"add r18,r20 \n" // suma los bytes menos significatiovs de a y b y lo guarda en r18
"adc r19,r21 \n" // suma con carry, bytes mas significativos
"sts c+1,r19 \n" //guarda el mas significativo
"sts c,r18 \n" //guarda el menos significativo
:::"r18","r19","r20","r21"
);
DUMP(c);
}
void loop() {
// put your main code here, to run repeatedly:
}