// r2 contains the return value, r4 contains the argument
int asmReturn(int x)
{
    int retval = 0;

    asm("load 4 r3\n"
        "add r4 r3 r2    ;adding two regs\n"
        "sub r2 1 r2     ;remove one to get 10\n"
        "write -4 r14 r2 ;write to stack to return");

    return retval;
}

int main() 
{
    int a = asmReturn(7);

    return a; // should now be 10
}

void interrupt()
{

}