Вызов asm функции из кода на Си

В проекте для AtmelStudio 7 пытаюсь вызвать asm функцию из кода на C++, но компилятор выдаёт ошибку

Error       ld returned 1 exit status
Error       undefined reference to `getpc()'

Вроде бы всё делаю правильно. Подскажите, в чём ошибка?

Файл src/utils.S. Код:

.global getpc

getpc:
    pop r16
    pop r17
    mov r24, r16
    mov r25, r17
    push r24
    push r25
    ret

Файл main.cpp. Код:

extern uint16_t getpc();
void main()
{
    uint16_t pc = getpc();
    while(1)
    {
        //...
    }
}

Ответы (0 шт):