Hinweis: Das Forum wird geschlossen! Neue Registrierungen sind nicht mehr möglich!

 Zurück zu Pro-Linux   Foren-Übersicht   FAQ     Suchen    Mitgliederliste
Assembler: Linux Systemaufruf bricht mit Speicherzugriffsfehler ab

 
Neuen Beitrag schreiben   Auf Beitrag antworten    Pro-Linux Foren-Übersicht -> Programmieren - Allgemein
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
FrankNFurter



Anmeldungsdatum: 29.09.2006
Beiträge: 1

BeitragVerfasst am: 29. Sep 2006 14:47   Titel: Assembler: Linux Systemaufruf bricht mit Speicherzugriffsfehler ab

Hallo zusammen,

wer kann mir erklären, warum folgendes, winziges Assembler-Programm mit einem Speicherzugriffsfehler abbricht:

Code:

section .text
     global _start

_start:
     mov eax,1
     mov ebx,0
     int 0x80


Eigentlich sollte hier ja nur exit() aufgerufen werden. Bei folgender Version funktioniert das einwandfrei:

Code:

section  .data
     hurz: db 'XYZ'

section .text
     global _start

_start:
     mov eax,1
     mov ebx,0
     int 0x80


Ohne zumindest ein Byte in der Data-Section zu haben will er nicht!

Das ganze mit nasm -f elf assembliert (Version 0.98.39) und mit ld unter SuSE 10.0 gelinkt.

Danke schonmal!
 
Benutzer-Profile anzeigen Private Nachricht senden

Janka



Anmeldungsdatum: 11.02.2006
Beiträge: 3569

BeitragVerfasst am: 29. Sep 2006 18:52   Titel:

Es ist Linux-Aufrufkonvention, eine .data-Sektion zu haben. Dort werden beispielsweise das Environment und die Aufrufparameter des Prozesses abgelegt. Existiert das Symbol nicht, schlägt das Kopieren fehl.

Janka
_________________
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.
 
Benutzer-Profile anzeigen Private Nachricht senden

Beiträge vom vorherigen Thema anzeigen:   
     Pro-Linux Foren-Übersicht -> Programmieren - Allgemein Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehen Sie zu:  

Powered by phpBB © phpBB Group
pro_linux Theme © 2004 by Mandaxy