Lowlevel

Lowlevel => Lowlevel-Coding => Thema gestartet von: Noobtotal am 24. July 2006, 14:52

Titel: Systemzugriff in C?
Beitrag von: Noobtotal 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?
Titel: Systemzugriff in C?
Beitrag von: Jidder am 24. July 2006, 15:07
Nein, gibts keine praktikable Möglichkeit für.
Titel: Systemzugriff in C?
Beitrag von: [MM] 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
Titel: Systemzugriff in C?
Beitrag von: hannibal 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
Titel: Systemzugriff in C?
Beitrag von: Noobtotal 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