Autor Thema: Systemzugriff in C?  (Gelesen 5291 mal)

Noobtotal

  • Beiträge: 54
    • Profil anzeigen
Gespeichert
« am: 24. July 2006, 14:52 »
Hallo!

Ist es eigentlich möglich, ohne Assembler Register zu bearbeiten und Interrupts auszulösen?
Ich hab nähmlich mal nen Quelltext gesehen, da stand drinnen:

ax = bx;

Oder sowas. Wie macht man das?  Gibts da ne Bib für?

Jidder

  • Administrator
  • Beiträge: 1 625
    • Profil anzeigen
Gespeichert
« Antwort #1 am: 24. July 2006, 15:07 »
Nein, gibts keine praktikable Möglichkeit für.
Dieser Text wird unter jedem Beitrag angezeigt.

[MM]

  • Beiträge: 130
    • Profil anzeigen
    • www.mmcoding.eu
Gespeichert
« Antwort #2 am: 24. July 2006, 15:36 »
Es gibt spezielle Compiler, die unterstützen es, dass man im C-Qelltext direkt Register, oder aber spezielle ASM-Blöcke benutzen kann (letzteres können zB die Borland-Compiler):
asm{
  mov ax,10
  int 0x20
}


Wenn du aber einen Compiler suchst, der sowas kann:
int a=eax;
ebx=a;

Dann solltest du dir den mal ansehen:
http://www.fh-zwickau.de/~micmo/compiler.html

MM

hannibal

  • Host
  • Beiträge: 400
    • Profil anzeigen
    • brainsware - the rock.
Gespeichert
« Antwort #3 am: 25. July 2006, 07:32 »
Sowas kannst du bei gaengigen Compilern (gcc, MS's cl, ...) eigentlich nur ueber Inline Assembler bewerkstelligen, jedoch wuerde ich mir einfach kleine Helperfunktionen in Inline Assembler, oder als reine Assembler Routinen zusammenschustern um mit Registern zu arbeiten.

Lg, Alex
\\o
o//
\o/

Noobtotal

  • Beiträge: 54
    • Profil anzeigen
Gespeichert
« Antwort #4 am: 25. July 2006, 18:53 »
Ja so mach ichs ja auch, wenn ich in C schreibe. Momentan frische ich mein Assemblerwissen auf, ist schon etwas eingerostet :wink:  :lol:  und dann mach ich mich auf nen PM Kernel in Assembler zu schreiben. Wahrscheinlich schon morgen! Assembler is seher einfach! :D  :)  :D  :)  :D  :)  :D

 

Einloggen