Quantcast
Channel: Forum Pasja Informatyki - Najnowsze pytania bez odpowiedzi
Viewing all articles
Browse latest Browse all 21942

Szybka pomoc

$
0
0

Witam, mam taki program jak poniżej. Mam go na maszynie wirtualnej z linuchem XenialXerus 64 bity. po napisaniu programu uruchamiam polecenia 

- nasm -f elf64 program1.asm

- ls i widze ze mam plik program1.o

- ld program1.o -o.program1

- ./program1 --> komunikat nie ma takiego pliku ani katalogu

Walczyłem z tym trochę po czym juz z braku laku dałem nasm -f elf program1.asm
i dostałem instruction not supported in 32-bit mode.
No i teraz zgłupiałem.... Mam 32 bit mode na 64 bitowym linuchy? jeżeli tak to czemu kompiluje sie elf64.
A jeżeli jest ok to czemu przy próbie - ./program1  dostaje komunikat nie ma takiego pliku ani katalogu

Dzięki za pomoc

segment .text            ; poczatek sekcji kodu
global _start            ; linker ld chce ten symbol

_start:                 ; punkt startu programu
        mov rax, 1      ; numer funkcji systemowe sys_write zapisz do pliku
        mov rdi, 1      ; numer pliku do ktorego piszemy 1-standardowe wyjscie
        mov rsi, tekst  ; adres offset tekstu
        mov rdx, dlugosc        ; rdx=dlugosc tekstu
        syscall                 ; wywolujemy funk. systemowa
        mov rax, 60             ; numer funk sysyemowej
        syscall                 ; wywolujemy funk systemowa

section .data           ;poczatek sekcji danych
tekst db "CZESC",0ah    ; napis ktory wyswietlamy
dlugosc dq $ - tekst    ;dlugosc napisu
;KONIEC


Viewing all articles
Browse latest Browse all 21942