__attribute__((naked)) void *List_InitNode(void)
{
  __asm__ volatile(
    "push {r7, lr}\n\t"
    "mov r7, r13\n\t"
    "add r2, r0, #0\n\t"
    "mov r0, #0\n\t"
    "str r0, [r2, #0]\n\t"
    "mov r0, #0\n\t"
    "str r0, [r2, #4]\n\t"
    "str r1, [r2, #8]\n\t"
    "add r0, r2, #0\n\t"
    "b 1f\n\t"
    "1:\n\t"
    "pop {r7}\n\t"
    "pop {r1}\n\t"
    "bx r1");
}
