void setup()
{
  Serial.begin(115200);
  asm volatile(
    "li x11, 0x60004020"      "\n\t"
    "li x12, 0x000F"          "\n\t"
    "li x13, 0"               "\n\t"
    "li x14, 1"               "\n\t"
    "li x15, 100000"          "\n\t"
    "sw x12, 0(x11)"          "\n\t"
  );
}

void loop()
{
  asm volatile(
    "li x11, 0x60004008"        "\n\t"
    "li x12, 0x000D"            "\n\t"
    "sw x12, 0(x11)"            "\n\t"
  );

  asm volatile(
    "li x16, 0x6000403C"        "\n\t"
    "lw x17, 0(x16)"            "\n\t"
    "sb x17, 8(sp)"             "\n\t"
  );

  int test;
  asm volatile(
    "mv %0, x17"
    : "=r" (test)
  );

  Serial.print("LED 1: ");
  Serial.println(test);
  delay(2000);

  asm volatile(
    "li x11, 0x6000400C"       "\n\t"
    "li x12, 0x000D"           "\n\t"
    "sw x12, 0(x11)"           "\n\t"
  );

    asm volatile(
    "li x16, 0x6000403C"        "\n\t"
    "lw x17, 0(x16)"            "\n\t"
    "sb x17, 8(sp)"             "\n\t"
  );

  int test2;
  asm volatile(
    "mv %0, x17"
    : "=r" (test2)
  );

  Serial.print("LED 0: ");
  Serial.println(test2);
  delay(2000);
}