Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 15 von 16

Thema: .s VS .asm

  1. #1
    Registered User
    Registriert seit
    Sep 2009
    Beiträge
    193
    Renommee
    55

    .s VS .asm

    hallo,
    wie unterscheiden sich denn .s und .asm Dateien?
    Für mich ist das irgendwie das gleiche?

  2. #2
    Member
    Registriert seit
    May 2004
    Beiträge
    1.432
    Renommee
    1142

    Re: .s VS .asm

    Was spricht dagegen? Da gibt es viele Beispiele wie (jpg, jpeg), (h, hpp), (aac, 3gp, mp4, m4a, m4b), (html, htm), (php, phtml, php4, php3, php5, phps)...

  3. #3
    Registered User
    Registriert seit
    Sep 2009
    Beiträge
    193
    Renommee
    55

    Re: .s VS .asm

    Ich will nicht wissen was besser ist, sonder was der unter schied ist :-)
    Push Word 0x123 darf ich nicht in einer .s Datei setzen

  4. #4
    Moderator
    Nothing is unbreakable!

    Registriert seit
    Jul 2003
    Beiträge
    622
    Renommee
    819

    Re: .s VS .asm

    http://www.wotsit.org/default.asp kennt weder .s noch .asm
    Welche Programm nutzen/erstellen diese Datein? In deren Dokumentation wird auch die Antwort liegen.

    Lass mich raten. Das .s Format ist das, was der gcc beim compilieren als Zwischencode erzeugt?

  5. #5
    Registered User
    Registriert seit
    Dec 2003
    Beiträge
    322
    Renommee
    270

    Re: .s VS .asm

    Soweit ich weiß verwendet Visual Studio die ".s" Endung bei Dateien, die Assembly Sourcecode enthalten, während MASM, NASM, FASM beispielsweise die Endung ".asm" nutzen.

    Natürlich kann der Inhalt gleich sein, wie Shakademus schon andeutete. Schließlich ist die Endung ja nur eine Konvention der jeweiligen Applikationen.

    Eine .asm Datei von FASM lässt sich allerdings nicht mit MASM kompilieren oder umgekehrt, weil es dort auch wieder Syntax Unterschiede gibt. Trotz gleicher Endung ist beides natürlich Assembly Sourcecode.
    Es kommt also nicht auf die Endung an, was in die Datei "darf" oder nicht, sondern auf die Applikation, die diese Dateien weiterverarbeitet.

  6. #6
    Registered User
    Registriert seit
    Sep 2009
    Beiträge
    193
    Renommee
    55

    Re: .s VS .asm

    @Shakademus
    Erstmal THX.
    Laut meinem Buch ist html und htm das gleiche, der Grund ist der. Die Dos Zeit läst nur 3 Zeichen nach dem Punkt zu. Bei php4 und php5 gibt es Befehle die gehen bei 5 und die anderen nicht bei 4 und umgekehrt. Mein Problem ist, mache schreiben ihren Shellcode in .s manche in .asm. Ich möchte gerne die Logic verstehen und wo orientiert man sich an .s und wann .asm ?

    @retak
    Erstmal THX.
    Ich check mal den link. Zwieschenablage?

    @Atho
    thx.
    Das kann gut sein. Aber dann stellt sich die Frage, warum sich der Buchschreiber seinen Code unter linux in der .s Datei speichert?

    Push Word 0x123 darf ich nicht in einer .s Datei setzen, Warum?
    Microsoft Compiler kann ich ja ausschließen, wenn ich seit Monaten NUR unter linux progge. :-)

  7. #7
    Moderator
    Nothing is unbreakable!

    Registriert seit
    Jul 2003
    Beiträge
    622
    Renommee
    819

    Re: .s VS .asm

    Zitat Zitat von tomycat Beitrag anzeigen
    Push Word 0x123 darf ich nicht in einer .s Datei setzen
    Wie hast du denn das herausgefunden? Wenn man den Fehler besser nachvollziehen kann, findet sich vllt. auch eine Antwort.

    Was meinst du den mit Zwischenablage? Steh gerade auf dem Schlauch.
    Geändert von retak (07.03.2012 um 11:39 Uhr)

  8. #8
    Registered User
    Registriert seit
    Sep 2009
    Beiträge
    193
    Renommee
    55

    Re: .s VS .asm

    @retak
    ja und nein.
    ich habe mich irgendwie vertan?!
    .s ist eine Shelldatei und .asm ist eine Assembler Datei.
    Wie oben gesagt wurden ist, wenn der Compiler drüber geht, dann ist es egal ob es eine .s oder .asm ist.

    as GNU Compiler (linux) und ist anderst als der nasm Compiler(linux).
    Die eine Datei war für as zugeschnitten und die andere für nasm. :-)
    Es kann auch sein dass Visual Studio .s verwendet, aber im dem Fall ist .s eine Shelldatei unter linux.

  9. #9
    Registered User
    Registriert seit
    Dec 2003
    Beiträge
    322
    Renommee
    270

    Re: .s VS .asm

    Ahh unter Linux.
    Allgemein gilt ja immer noch das gleiche. Verschiedene Programme nutzen unterschiedliche Endungen.

    Eine Shelldatei ist doch eigentlich ".sh" und nicht ".s"?
    as und nasm sind beides Assembler (nennt man nicht Compiler). Diese dürften beide Assembly Instruktionen verarbeiten. Aber doch keine Shell-Befehle?
    Und "PUSH WORD 0x123" müsstest du in beiden Fällen benutzen dürfen. Es sei denn es gibt Besonderheiten in der Syntax bei einem der Assembler. Wo stand, dass man das nich darf?

  10. #10
    Registered User
    Registriert seit
    Sep 2009
    Beiträge
    193
    Renommee
    55

    Re: .s VS .asm

    @atho
    Mein Buch und das 80 Seiten pdf Script sprechen von .s Dateien, es wird auch von Shellcode geredet.

    Hmmm warum sagte ich Compiler? :-)

    PUSH WORD 0x123 <---- der geht nur bei dem Prog nasm, wenn ich den Befehl von einem anderen Code.s nehme, der für nasm ist. Dann bringt as einen Fehler.

    Du hast eine PN.

  11. #11
    Member
    Registriert seit
    May 2004
    Beiträge
    1.432
    Renommee
    1142

    Re: .s VS .asm

    .s ist mir auch unbekannt. .S kenne ich als Assembler Code. Dass es sich dabei um einen speziellen Dialekt handelt, wüsste ich nicht.

  12. #12
    Registered User
    Registriert seit
    Dec 2003
    Beiträge
    322
    Renommee
    270

    Re: .s VS .asm

    Also laut GNU manual sind .S Assembler Sourcecode Dateien in ihrer Form, wie man sie als Mensch schreiben würde. (Wahlweise auch .asm)
    .s sind dagegen Dateien, die von einem Assembler schon weiterverarbeitet wurden. Wahrscheinlich wurden labels und variablen schon aufgelöst in Offsets/Adressen, oder es liegt gar schon in binärer Form vor?
    Hast du eine Beispiel .s Datei, tomycat? Habe hier leider keine GNU Dev Tools.

  13. #13
    Moderator
    Nothing is unbreakable!

    Registriert seit
    Jul 2003
    Beiträge
    622
    Renommee
    819

    Re: .s VS .asm

    Ein hello world in C compiliert mit dem gcc --save-temps ergibt eine test.s Datei mit "normalen" Assembler

    Code:
            .file   "test.c"
            .section        .rodata
    .LC0:
            .string "hello world"
            .text
    .globl main
            .type   main, @function
    main:
            pushl   %ebp
            movl    %esp, %ebp
            andl    $-16, %esp
            subl    $16, %esp
            movl    $.LC0, (%esp)
            call    puts
            movl    $0, %eax
            leave
            ret
            .size   main, .-main
            .ident  "GCC: (Debian 4.4.5-8) 4.4.5"
            .section        .note.GNU-stack,"",@progbits

  14. #14
    Registered User
    Registriert seit
    Sep 2009
    Beiträge
    193
    Renommee
    55

  15. #15
    Registered User
    Registriert seit
    Dec 2003
    Beiträge
    322
    Renommee
    270

    Re: .s VS .asm

    Nun, dann sehe ich den Unterschied nicht ganz.
    In die .s Datei kannst du zwar kein "PUSH WORD 0x123" schreiben, weil das Intel Syntax ist.
    Aber "pushw $0x123" (AT&T Syntax) müsste einwandfrei funktionieren und ist genau dasselbe.

    Kommt eben darauf an, was welcher Assembler als Syntax unterstützt. Aber auf die Endung kommt das sicher nicht an.

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •