#include<stdio.h>
#include<stdlib.h>
// Uncomment this when you copy this code to run it on HW
/*#define RUN_ON_HW
#ifdef RUN_ON_HW
#define Serial1 Serial
#endif*/
void myPrint(char* fnName,unsigned int result);
extern "C"{
unsigned int my_asm_add_two_constants(void) ;
}
void setup() {
Serial1.begin(9600);
pinMode(LED_BUILTIN , OUTPUT);
}
void loop() {
unsigned int asm_ret_val;
asm_ret_val=my_asm_add_two_constants();
myPrint(" my_asm_add_two_constants()",asm_ret_val);
digitalWrite(LED_BUILTIN,HIGH);
delay(1000);
digitalWrite(LED_BUILTIN,LOW);
delay(1000);
}
void myPrint(char* fnName, unsigned int printVal){
Serial1.print("The value entered from assembly function ");
Serial1.print(fnName);
Serial1.print(" : ");
Serial1.println(printVal);
Serial1.print("The value returned from the assembly fn ");
Serial1.print(fnName);
Serial1.print(" in Hex: 0x"); Serial1.println(printVal, HEX);
} // myPrint(char*, int)