• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Nauka assemblera

Object Storage Arubacloud
0 głosów
917 wizyt
pytanie zadane 11 lipca 2016 w Assembler przez Eliro Stary wyjadacz (12,160 p.)

Posiadam procesor amd64 i linuxa ubuntu. Zainstalowałem sobie program geany do kompilacji. C,C++ oraz Pythona kompiluje bez problemu, a więc postanowiłem uczyć się w tym assemblera. Niestety - żaden kod źródłowy z kursów nie działa. Przykładowo

 .text
 .global _start
 _start:
        movl $4, %eax
        movl $1, %ebx
        movl $napis, %ecx
        movl $len, %edx
        int $0x80
 
        movl $1, %eax
        movl $0, %ebx
        int $0x80
 
 .data
 napis:
        .string "hello world!\n"
 len = . - napis

 

Komunikat

/tmp/geany_run_script_TZ0JKY.sh: 7: /tmp/geany_run_script_TZ0JKY.sh: ./asembler: not found

 

Drugą sprawą jest sam assembler. Czy na każdy procesor trzeba się uczyć osobnego assemblera? Moglibyście polecić mi coś, gdzie mógłbym się nauczyć kompletnych podstaw tego języka?

1 odpowiedź

+1 głos
odpowiedź 11 lipca 2016 przez jpacanowski VIP (101,940 p.)
wybrane 17 października 2018 przez Eliro
 
Najlepsza

int $0x80 

Takie coś tobie nie przejdzie w środowisku 64-bitowym.
https://sites.google.com/site/prognisk/amd64-abi

Moglibyście polecić mi coś, gdzie mógłbym się nauczyć kompletnych podstaw tego języka?

http://bogdro.ciki.me/

https://pl.wikibooks.org/wiki/Asembler

https://sites.google.com/site/prognisk/home

Tutoriale wyżej wymienione mogą wydawać się trochę chaotyczne jak na początek przygody z asemblerem, więc najbardziej polecam jednak tą książkę Asembler - wykłady i ćwiczenia, Stanisława Kruka
http://www.ibuk.pl/fiszka/1268/asembler-wyklady-i-cwiczenia.html

Czy na każdy procesor trzeba się uczyć osobnego assemblera?

Tak, ale tylko jeśli mówimy o innych architekturach procesorów jak np. MIPS, ARM, PowerPC, Motorola itp.

komentarz 11 lipca 2016 przez Eliro Stary wyjadacz (12,160 p.)

Mam linuxa ubuntu!

pakiet binutils,

as assembler.s -o assembler.o
ld assembler.o -o assebler
./assembler

 

 

Kod powyżej - poprzedni post.

komentarz 11 lipca 2016 przez jpacanowski VIP (101,940 p.)
Kompiluj NASM'em...

# nasm -f elf czesc.asm
# ld -s -o czesc czesc.o
komentarz 11 lipca 2016 przez Eliro Stary wyjadacz (12,160 p.)

ld -s -o assembler assembler.o

ld: i386 architecture of input file `assembler.o' is incompatible with i386:x86-64 output
ld: warning: cannot find entry symbol _start; defaulting to 0000000000400080

 

 

komentarz 11 lipca 2016 przez jpacanowski VIP (101,940 p.)

Spróbuj:

nasm -f elf32 czesc.asm

komentarz 12 lipca 2016 przez Eliro Stary wyjadacz (12,160 p.)
Ten sam błąd.

Podobne pytania

0 głosów
3 odpowiedzi 392 wizyt
pytanie zadane 29 lipca 2016 w Assembler przez Eliro Stary wyjadacz (12,160 p.)
0 głosów
4 odpowiedzi 619 wizyt
pytanie zadane 16 marca 2020 w Assembler przez tonn204 Mądrala (7,440 p.)
0 głosów
2 odpowiedzi 686 wizyt
pytanie zadane 11 lipca 2019 w Assembler przez niezalogowany

92,584 zapytań

141,434 odpowiedzi

319,671 komentarzy

61,968 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...