(.text + 0x4e): неопределенная ссылка на насм `printf ' - PullRequest
0 голосов
/ 19 октября 2019

Я пытаюсь получить доступ и распечатать элементы arr, найденные в разделе данных ниже в nasm, используя printf из c, но каждый раз, когда я получаю (.text + 0x4e): неопределенную ссылку на `printf. кто-нибудь может сказать мне проблему?

xor rcx, rcx
print_array:
    cmp rcx, r8
    jz exit
    mov rax, [arr+rcx]
    inc r8
    push    rax                     ; caller-save register
            push    rsi                     ; caller-save register
            mov     rdi, char_format        ; set 1st parameter (format)
            mov     rsi, r8              ; set 2nd parameter (current_number)
            xor     rax, rax                ; because printf is varargs
            call    printf                  ; printf(format, current_number)
            pop     rsi                     ; restore caller-save register
            pop     rax                     ; restore caller-save register
    jmp print_array

exit:
    mov rax, 0
    pop rbp



section .data
  arr: dd 30, 10, 6, 4, 8, 15, 1, 60, 7, 19, 17, 13, 11
  ent: dd "enter the number of items", 10
  char_format:        db  "%c", 10, 0
  decimal_format:        db  "%d", 10, 0
  string_format:        db  "%s", 10, 0
...