Assambler bei Linux?
-
Hallo,
gibt es bei Linux etwas Assambler ähnliches? Oder sogar Assambler selbst?
Falls Unterschiede bestehen, sind sie groß?mfg
Karsten
-
irgendwie schon. unterschiede? kommt auf deinen prozessor an... und auf den asssembler
-
warum sollte es keinen Assembler geben? Wenn du Assembler meinst, der TASM oder MASM ähnlich ist, muss ich dich entäuschen, da gibt es nur NASM, der ist ein bisschen ähnlich zu MASM/TASM.
Da Unix auf weit mehr Platformen vertretten ist, als Windos (obwohl NT ja auch für Alpha und MIPS existiert AFAIK) und DOS, gibt es mehrere unterschiedliche Assembler Sprachen.
Der AT&T Assembler Syntax ist eine Art portabler Assembler, der sich stark am Intel Syntax Orientiert.
Schau am besten mal in die ASM FAQ, da findest du auch Tutorials für AT&T Syntax und Linux/Unix.
In das Assembler Forum verschieb ich dich auch gleich mal
-
Meiner Meinung nach is AT&T Syntax ein bisschen unangenehm, aber der NASM beherrscht Intel Syntax und ist ganz gut.
Den gibts ebenfalls für Windows, ist zu empfehlen.
Unterschiede gibts viele, unter Win gibts keine Interrupts, unter Linux kannst du kernelinterrupts nutzen, usw.usf.mfg
Noob
-
Original erstellt von noob:
**Unterschiede gibts viele, unter Win gibts keine Interrupts, unter Linux kannst du kernelinterrupts nutzen, usw.usf.
**Na so aber nicht
Unter Windows wird genauso wie unter Linux ein Kernelinterrupt benutzt um Systemfunktionen aufzurufen (halt nur 0x2e afair anstatt 0x80 =))
-
Ohh und wieder was gelernt, wusste garnet das Win Kernel Interrupts hat.
Ich dachte unter Win währen alle INT´s weg, die DOS Interrupts wie 21h gehen aber nicht, da bin ich sicher.mfg
Noob
-
Ich denke, der AT&T Syntax ist gewohnheits Sache, Leute die Intel Syntax programmiert haben, müssen sich eben ein bisschen umgewöhnen, während Leute, die auf anderen CPUs Assembler geproggt haben weniger Probleme mit der Syntax haben.
-
Original erstellt von noob:
**Ohh und wieder was gelernt, wusste garnet das Win Kernel Interrupts hat.
**Aber sischerdat
Es gibt noch 2-3 andere die für eher interne Mechanismen benutzt werden, dieser eine ist wie unter Linux 0x80 der wichtigste
Original erstellt von noob:
**Ich dachte unter Win währen alle INT´s weg, die DOS Interrupts wie 21h gehen aber nicht, da bin ich sicher.
**Das stimtm alleridngs, aber die gehen ja auch unter Linux net
-
Original erstellt von noob:
**Ohh und wieder was gelernt, wusste garnet das Win Kernel Interrupts hat.
Ich dachte unter Win währen alle INT´s weg, die DOS Interrupts wie 21h gehen aber nicht, da bin ich sicher.mfg
Noob**Netürlich gibt es bei Windows nicht INTs. Die werden von Windows selber aufgerufen, wenn du einen CALL ausführst. DIREKT lassen sich diese INTs aber nicht ausführen, in so nem Virii Tut hab ich da aber mal was genaueres gelesen...
-
Original erstellt von HAR:
DIREKT lassen sich diese INTs aber nicht ausführen, in so nem Virii Tut hab ich da aber mal was genaueres gelesen...Aber klar kannste das, aber eben nur einen sehr begrenzten Satz...wenn du z.B. CreateFile aufrufst wird das mehr oder weniger direkt in nen Interrupt-Call umgewandelt, und zwar im User-Mode :p Ums genau zu machen ist der wichtigste Interrupt 0x2e, halt genauso wie unter Linux der Interrupt 0x80 aufgerufen wird wenn man mal was vom Kernel will.
[ Dieser Beitrag wurde am 08.10.2002 um 19:21 Uhr von TriPhoenix editiert. ]