Autor Thema: Hello-Welt Kernel, assembler syntax?  (Gelesen 6788 mal)

sebi2020

  • Beiträge: 130
    • Profil anzeigen
    • Infortus OS
Gespeichert
« am: 15. November 2009, 18:51 »
ist im gcc ein eigenständiger assembler mit drin? Zumindest sieht es so im Hello-World tut aus. Ich frage mich gerade die ganze zeit was für ein Syntax dass überhaupt ist.  Also der Intel isses auf jeden Fall nicht (was ich schade finde. wenn dass nen andrer ist, gibt es eine möglichkeit dass auf den intel syntax umzustellen?
Please press any-key...
Verflucht wo ist any-key? hier? ach Mist, das war Escape...

Cool-Andy

  • Gast
Gespeichert
« Antwort #1 am: 15. November 2009, 19:04 »
zum Syntax: gcc verwendet AT&T-Assembler

FreakyPenguin

  • Administrator
  • Beiträge: 301
    • Profil anzeigen
    • toni.famkaufmann.info
Gespeichert
« Antwort #2 am: 15. November 2009, 19:19 »
Nein im gcc ist kein Assembler drin. Der benutzt den as aus den GNU binutlis. Und ja diese Möglichkeit gibt es (ich weiss nicht auswendig wie,  da ich bis jetzt noch nicht den drang hatte, Falschrumassembler zu benutzen ;-)))

Cool-Andy

  • Gast
Gespeichert
« Antwort #3 am: 15. November 2009, 19:39 »
verdammt: ich verwechsel immer gcc und binutils! Aber Linker, Inline-Assembler, und so waren bei mir schon bei gcc dabei.  :-)

DerHartmut

  • Beiträge: 236
    • Profil anzeigen
    • Mein Blog
Gespeichert
« Antwort #4 am: 15. November 2009, 19:52 »
Der Linker ist auch Bestandteil der Binutils und der Inline-Assembler hat nichts mit dem Assembler an sich zu tun sondern ist halt schon Assembler-Code im C-Code, den der gcc nicht mehr in Assembler-Code kompillieren muss.

Und damit man Intel-Syntax einsetzten kann: -masm=intel ;-)
$_="krJhruaesrltre c a cnp,ohet";$_.=$1,print$2while s/(..)(.)//;
Nutze die Macht, nutze Perl ;-)

sebi2020

  • Beiträge: 130
    • Profil anzeigen
    • Infortus OS
Gespeichert
« Antwort #5 am: 15. November 2009, 20:00 »
Nein im gcc ist kein Assembler drin. Der benutzt den as aus den GNU binutlis. Und ja diese Möglichkeit gibt es (ich weiss nicht auswendig wie,  da ich bis jetzt noch nicht den drang hatte, Falschrumassembler zu benutzen ;-)))

Wieso Falschrum assembler?
wegen ziel, quelle, statt quelle, ziel?

...
hm, was versteht man unter .int? wäre dass beim nasm db gewesen?
« Letzte Änderung: 15. November 2009, 20:02 von sebi2020 »
Please press any-key...
Verflucht wo ist any-key? hier? ach Mist, das war Escape...

DerHartmut

  • Beiträge: 236
    • Profil anzeigen
    • Mein Blog
Gespeichert
« Antwort #6 am: 15. November 2009, 20:22 »
Afaik nein, wäre ein dw, also Double Word
$_="krJhruaesrltre c a cnp,ohet";$_.=$1,print$2while s/(..)(.)//;
Nutze die Macht, nutze Perl ;-)

FreakyPenguin

  • Administrator
  • Beiträge: 301
    • Profil anzeigen
    • toni.famkaufmann.info
Gespeichert
« Antwort #7 am: 15. November 2009, 20:32 »
Wieso Falschrum assembler?
wegen ziel, quelle, statt quelle, ziel?
Genau deshalb, jo.

Und jo DerHartmut hat recht, .int ist ein Dword, und bevor du fragst, ein qword ist .quad. ;-)

XanClic

  • Beiträge: 261
    • Profil anzeigen
    • github
Gespeichert
« Antwort #8 am: 15. November 2009, 21:31 »
Aber dw ist kein DWord, sondern ein Word. Ein DWord wäre dd :-D

 

Einloggen