Не отличается от любой другой функции, которая вызывает эту функцию.Абсолютно ничего особенного в рекурсии, просто реализуйте C как обычно.
n и k в основном локальные переменные, вам нужно локальное хранилище для текущего экземпляра этих переменных.Стек - хорошее место для этого.Или регистры, которые сохраняются в стеке при вызове любой функции.(опять же, ничего особенного, решение связано не с рекурсией, а со стандартной реализацией C).
ldr r0,[sp-#N_OFFSET]
sub r0,#1
ldr r1,[sp-#K_OFFSET]
sub r1,#1
bl stirling
ldr r1,[sp-#N_OFFSET]
sub r1,#1
sub r4,r0,r1
ldr r0,[sp-#N_OFFSET]
sub r0,#1
ldr r1,[sp-#K_OFFSET]
push r4
bl stirling
pop r4
signed multiply r0=r4*r0
clean up stack for return
bx lr
Нет, это не был ассемблер x86, я позволю вам перевести на x86.Если это домашнее задание, отметьте его как таковое или укажите, что это не домашнее задание в вопросе.