Ошибка Segfault от printf?

Я делаю сборку SPARC. Вот часть моего кода:

convert:
    save    %sp, -96, %sp

    mov     %i0, %l0       !%i0 has a long array
    mov     %i1, %l1       !%i1 has a char array


process:
    ld      [%i0], %o0      !maps firstArray[0] to %l0
    mov     10, %o1         !maps 10 to %o1 
    call    .div            !divide by 10 to get 10s place
    nop

    mov     %o0, %l3        !stores result in l3
    stb     %l3, [%i1]      !stores result in the second array


    mov     %l3, %o1        !checking contents after calculation
    call    printf
    nop

printf вызывает ошибку, и я не уверен почему. Я попробовал это с несколькими из местных регистров. Мне нужно, чтобы проверить мои результаты. Что я должен делать?

Также я не уверен, что мой способ реализации массивов параметров правильный, но я не получил эту ошибку до того, как добавил оператор printf.

1 ответ

Разобрался: %o0 нужно установить с помощью строки формата.

Другие вопросы по тегам