Wie erhalte ich Zugriff auf die USB-Schnittstelle durch das BIOS in 16-bit-x86-real-Modus?

Ich bin ein Neuling auf dem Montage-Welt,

Ich versuche zu schreiben, Montage-codes, um die Kommunikation mit Hardware-Geräten wie Serielle, Parallele, VGA, Tastatur,..etc.

Ich Tue dies, während Sie im Real-Modus der x86-intel-Prozessor, indem Sie meinen code aus einer boostrap ich persönlich schrieb zu laden meine Assembler-code.

Gut, nach meinem wissen, das ich gesammelt, aus tutorials Lesen, ist der einfachste Weg für mich war der Einsatz von BIOS-Int-Service-Routine (ISR) und auf der anderen Seite der LÄNGSTE Weg ist durch den Zugriff auf die verschiedenen Register der hardware, wie zum Beispiel: Status-Register und Control-Register des Seriellen Ports....

Q1: Bin ich im Recht dazu?

Konnte ich die Kommunikation mit dem VGA-und Serielle Bauteile mit BIOS-INTs, aber ich konnte nicht finden, dass irgendwelche bios-interrupts für den USB-controller..?!

Q2: Können Sie mir helfen in dieser Lage sein, die Kommunikation mit dem USB-port und für die übrigen ports, nur machen Sie es generell?

Q3:

  • Warum willst du code in assembly? Warum nicht geben Sie den code oben ein Betriebssystem (d.h. ein Programm für Linux)? Was ist dein Ziel (Lern-Montage, schreiben ein Betriebssystem)? Die heutigen Compiler generiert besseren Assembler-code als die meisten Menschen schreiben können.
  • Das ist wie ein Film, wo Sie sehen den Menschen kämpft gegen Dinosaurier. Eine Zeit Anachronismus, USB erfunden wurde, lange nachdem die 32-bit-Betriebssystemen üblich waren. Es gab nie 16-bit-Unterstützung dafür, dass es zwecklos war.
  • Die OP ' s Frage ist ernst. Ich denke, dass Antworten wie "Warum machst du nicht in irgendeiner Weise, wenn einige software installiert wurde." Als Assembler-Programmierer, den Sie kaum davon ausgehen, keine software installiert wurde, auch wenn die software OS oder BIOS. Betrachten Sie schreiben ein BIOS-Modul.
Schreibe einen Kommentar