Suche gute Online einführung in Assembler
-
Hi,
ich suche eine sehr gute und empfehlenswerte Assembler einführung, bei der nicht auf DOS-Interupts oder andere OS Interupts zurückgegriffen wird, also low level pur halt.
Bevorzugt wird Deutsch, Englisch ist aber auch total ok.
Im FAQ, finde ich leider nichts besonders anständiges. Nur das PDF tutorial aber da ist das einzig interessante die Registerbeschreibung, der Rest ist irgendwie nur DOS-Interupts.
Kennt jemand ein richtiges "Hardcore" tut?
-
Hi.
Wenn du also gar keine OS-Funktionen benutzen willst, schliesse ich daraus, dass du dein eigenes "Mini-OS" coden willst.
Mir ist ehrlichgesagt kein Onlinetut "wie code ich mir mein super-OS" bekannt.
Wuerde IMHO auch keinen Sinn machen:
Die Grundlagen der x86-Programmierung im RealMode bleiben bei allen Systemen (also auch DOS) gleich und manche Themengebiete, wie zB. Dateisysteme, sind dagegen so komplex, dass sie einfach den Rahmen eines gesamt-Tuts sprengen wuerden.Wenn du also die Grundlagen der x86-Programmierung im RealMode drauf hast, gruebel mal genauer darueber nach, was genau du machen willst und stoebere dann ein wenig in Ralph Browns Interrupt Liste, bzw. den OS-Dev Links hier in den FAQ herum - da gibts einige Docs/Tuts zu Hardware-/OS-programmierung, in denen du ziemlich ausfuehrliche Infos zu solchen weiterfuehrenden Themen finden kannst.
Vielleicht hilft dir Zum Einstieg (vor allem zur Orientierung in RBs Interruptliste) auch diese Kurzuebersicht ueber wichtige BIOS-Ints weiter:
int 10h => Grafikkarte
int 13h => Festplatte/Diskettenlaufwerk
int 16h => Keyboard
-
Hi,
naja das mit OS ist net ganz so, es soll eher ein Kontrollsystem werden, also kein OS.
Mir geht es rein um den PM, ohne FileSystem und anderen Schnickschnack, also hauptsächlich nur Grafikausgabe, Keyboard und Rechnen.
Es geht darum, ich habe eine kleine Kontroll KI gecodet für einen Roboter in C++ und die Simulationen unter Windows waren alle okay und nun will ich diese KI auf einen P100 stopfen, der in dem Roboter eingebaut ist, sowie ein Monitor zur Informationsausgabe und einem Keyboard zur Befehleingabe.
Also nichts mit Tasks und co. Einfach nur int10h und int16h.
low level halt
-
Da hast dir ja mal das richtige zum Einstieg ausgesucht...
Im PM kannst du naemlich nicht ohne weiteres auf die meisten BIOS-Funktionen (zB. int 16h und die meisten int 10h-Funktionen) zugreifen.Nun kannst dich also mal in den FAQ OS-Dev Links umschauen...
Der zweite Link dort fuehrt zB. erstmal zu einem ziemlich guten Tutorial zur grundlegenden PM-Programmierung.Um nun auf die Hardware zuzugreifen, gibt es 2 Moeglichkeiten: entweder du sicherst die ganzen RealMode Interrupts und installierst im PM Routinen, die bei einem IRQ/Int-Aufruf zunaechst in den RM/V86 wechseln, anschliessend die RealMode-Funktionen aufrufen, um zum Ende wieder in den PM zu wechseln oder du schreibst mehr oder weniger alles selbst neu.
BTW: Je nachdem, wie gross dein Programm ist und ob auf Dateien zugegriffen wird, kommst du um eine FS-Implementation nicht umhin.
PS: Wenn sich dein Programm direkt vom BIOS starten laesst, ist es praktisch ein OS.