#include<stdio.h>
#include<stdlib.h>
void myPrint(char* fnName,unsigned int result);
extern "C"{
unsigned int my_asm_fn(void);
}
void setup() {
Serial1.begin(9600);
pinMode(LED_BUILTIN , OUTPUT);
}
void loop() {
unsigned int asm_ret_val;
asm_ret_val=my_asm_fn();
myPrint("my_asm_fn",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"); Serial.println(printVal, HEX);
}