Beiträge anzeigen

Diese Sektion erlaubt es dir alle Beiträge dieses Mitglieds zu sehen. Beachte, dass du nur solche Beiträge sehen kannst, zu denen du auch Zugriffsrechte hast.


Nachrichten - TeeJay

Seiten: 1 ... 26 27 [28] 29 30
541
Das Wiki / download area
« am: 03. March 2004, 17:54 »
Ich hab im Ressource Center schon einen Thread eröffnet der jederzeit erweitert werden kann.

Die Daten soll man mir einfach zukommen lassen. Ich uppe die dann auf den Webspace4free Acount von mir und verlinke das dann hier.
542
Das Wiki / Inhalte für nächstes Magazin
« am: 03. March 2004, 14:46 »
Ich werde es in Zukunft so handhaben, das ich von den Tuts (nachdem sie veröffentlicht wurden) den Code der darin vorkommt mit Erklärung und Kommentaren ins Resource Center stellen werde.
543
Das Wiki / download area
« am: 03. March 2004, 14:44 »
Ich hab da trotzdem Files draufgemacht.
Die werden hier im Resouce Center verlinkt.

Der SPeed von dem Server ist Top!  Zumindest heute Nacht war er das :)
544
Lowlevel-Coding / Nasm-tut
« am: 03. March 2004, 14:43 »
Die Doku zu NASM hab ich ins Resource Center gestellt.
Da kannst du zumindest mal den Syntax von NASM nachschlagen.

Ansonsten kannst du dir eigentlich jedes Tut anschauen das Assembeler auf einem x86 behandelt.
Lediglich den Syntax musst du vielleicht etwas auf NASM dann anpasen.
Aber von den Befehlen her ist es das selbe.
545
Offtopic / Paar Fragen zu NASM
« am: 03. March 2004, 14:41 »
EIgentlich sollte es möglich sein das auch mit einem A86 Assembler zu compilen.
Allerdings wirst du es wohl nicht 1 zu 1 übernehmen können, weil der Syntax des A86 Assembler wohl etwas anders ist.
Da NASM eh frei von Lizenzgebühren ist, würde ich dir empfehlen dir diesen einfach zuzulegen. (Siehe Resource Center)

Wenn du die Software selbst geschrieben hast und keinen Code aus anderer geschützter Software kopiert hast, solltest du die Software auch verkaufen können.
546
Das Wiki / Danke und Klasse!
« am: 03. March 2004, 01:24 »
Mit den Kommentaren zum ASM-Code habt ihr wohl recht.
Ich bemühe mich in Zukunft da etwas mehr zu schreiben.
Habt aber Verständnis, wenn wir nicht JEDE einzelne Zeile beschreiben, sondern eher immer die komplette Funktion von mehreren Zeilen.

Es wäre ja Blödsinn bei folgendem Beispiel jede Zeile zu beschreiben:
mov   ax, 1000
mov   ds, ax

Hier genügt ja auch nur wenn man schreibt das man das DS-Register mit einem Wert lädt und vielleicht warum gerade dieser Wert.

Ansonsten kann ich persöhnlich nur anbieten das ihr einfach hier im Forum den betreffenden Code den ihr nicht versteht postet.

Ich (und sicher auch Andere) werden sich das bestimmt anschauen und Hilfestellung dazu geben.

Dafür ist das Forum wohl auch gedacht ;)
547
Das Wiki / download area
« am: 03. March 2004, 01:19 »
Das werd ich mir mal anschauen.
Lycos benutz ich eigentlich nur weil es dort PHP und MySQL gibt, welches ich beides für ein Projekt das ich nebenher laufen hab benötige.

Aber 200 MB für Files wären natürlich nicht schlecht.
Gibts da eine Max für die Dateigröße?
548
Das Wiki / Inhalte für nächstes Magazin
« am: 03. March 2004, 01:16 »
@Bassai

Um den Kernel zu laden muss ich das Diskettenlaufwerk noch nicht programmieren. Da befinde ich mich noch im Real-Mode und kann bequem über BIOS-Interrupts von der Diskette lesen.

Sobald aber der PMode läuft und der Kernel geladen ist, muss ich natürlich einen Treiber für das Diskettenlaufwerk schreiben, weil ich DANN nur noch über Ports Daten vom Laufwerk lesen kann. Das einbinden der DMA ist leider beim DIskettenlaufwerk (laut meinen Kenntnissen) notwendig.

@neq
Das Prinzip vom Paging ansich ist recht simpel. Jedoch ist es eine komplexe Sache, wenn es darum geht das man Pages auf Platte auslagern möchte.

Daher werde ich das Paging wohl in seiner Funktionsweise beschreiben. Jedoch werde ich keinen Beispielcode bereitstellen, der zeigt wie man Pages auf Platte auslagert *G*.
Das kommt vielleicht später.

Ob das Tut ins RC kommt, kann ich noch nicht sagen. Das müsste ich mit Mastermesh absprechen, da er die Planung in der Hand hat.
Ich bin zwar heute ein gutes Stück weitergekommen im Tut, aber es fehlt noch einiges.

Wahrscheinlich wird es auch so kommen, das ich im nachinein noch Ergänzungen vornehmen muss, sollte ich evtl ein Thema darin zu kurz oder unverständlich behandeln.

Der Umfang des Tuts beträgt zur Zeit (laut der Druckvorschau des IE) 11 Seiten.
549
Lowlevel-Coding / Bootloader
« am: 02. March 2004, 22:45 »
Ich sag ja. Ich hab die Programme aus dem Buch nicht ausprobiert.
Ich hab erst mit NASM richtig angefangen in Assembler zu programmieren.

Und da musst du dir halt mal die Doku von NASM durchlesen. UNd dann kannst du auch den Syntax davon.
550
Lowlevel-Coding / Bootloader
« am: 02. March 2004, 22:15 »
Ich habe die Programme eigentlich nie selbst mit MASM ausprobiert.
Ich hab sie mir zwar mal angeschaut, aber das wars dann auch.

Auch wenn der Syntax für NASM anders ist als in dem Buch, so gibt das Buch doch eine Menge an Infos, die auch für NASM verwendet werden können.
Die Art und Weise wie ASM-Code formuliert wird, ändert sich ja nicht, lediglich der Syntax ist etwas anders.

Also kannst du aus dem Buch auch lernen wenn du NASM benutzt.

Wenn du das eBook haben willst, dann melde dich bei mir per Mail oder ICQ.
551
Das Wiki / Inhalte für nächstes Magazin
« am: 02. March 2004, 19:21 »
Wie schon erwähnt bin ich gerade dabei ein PMode Tut zu schreiben.

Dabei gehe ich erstmal auf die Grundlegenden Dinge ein:
- Aufbau der Deskriptoren
- Beschreibung der unterschiedlichen Deskriptoren
- Beschreibung der GDT, IDT LDT
- Paging <- Weiß ich noch nicht.

Das Tut von der FH-Zwickau hab ich auch gelesen. Jedoch war es teilweise etwas unvollständig und der Code....naja

Ich hab mir daher das "englische" Manual von Intel reingefahren. Ist sehr komplex, aber auch sehr genau.
Im Tut versuche ich daher so viel davo wieder zu geben wie möglich.

Dazu kommen dann auch Codebeispiele, Zusatztools.

Des weiteren werde ich dann an Code zeigen wie man in den PMode schaltet und von da aus in einen C-Kernel springt.

Das anlegen von Interrupt-Handlern werde ich dann aber erst Schrittweise in folgenden Tuts beschreiben.

Sonst noch "konkrete" Wünsche für das PM-Tut?
552
Um ASM kommst du an gewissen stellen nicht herum. Du kannst aber versuchen dir einige Funktionen in ASM zu schreiben mit denen du auf Ports zugreifen kannst.

Dann könntest du einen Großteil mit C machen.

Aber an gewissen Stellen wirst du zumindest für die grundlegenden Sachen musst du ASM benutzen, da manche Befehle die dort benötigt werden von C nicht unterstützt werden.
553
Lowlevel-Coding / Real Mode Adressen -> PMode Adressen
« am: 02. March 2004, 16:18 »
Im Protected Mode gibt es die sogenannte Interrupt Descriptor Table (IDT).
Dort werden wie in der GDT Descriptoren eingetragen.

Diese Descriptoren zeigen dann auf den jeweiligen Interrupt-Handler.
554
Lowlevel-Coding / Bootloader
« am: 02. March 2004, 14:37 »
Zahlen in Variablen speichern:

mov [Variable], BYTE 10
anstatt BYTE kannst du auch WORD oder DWORD nehmen.
Das kommt halt darauf an wie groß deine Variable ist.

mov [Variable], al
geht auch. Hier brauchst du nicht extra angeben ob es sich um ein BYTE/WORD oder DWORD handelt, da es aus der Angabe des Registers ersichtlich ist.

Du arbeitest ja wie oben angegeben im 16-BIT Mode.
Daher solltest du auch möglichst nur 16-BIT Register (AX,BX, CX usw) verwenden.
Du benutzt häufig eax. Das ist zwar möglich, jedoch ist das dann teilweise 32-Bit. Mal abgesehen das du eine größe von 32-BIT an Zahl garnicht benötigst, da weder dein Array noch die Werte darin größer als 65535 sind.

xchg [Counter], eax
das sollte zu chaos führen, weil du hier einen 32-Bit Wert vom Register in eine BYTE Variable speichern willst (Counter db 0).

mov [Eingabe+eax], byte al
Du machst hier einen gedankenfehler. Du benutzt eax um ein Feld im Array anzugeben und gleichzeitig willst du mit einem Teil von eax, nämlich al einen Wert in das Array schreiben. Das kann eigentlich nur zu blödsinn führen ;)

Daher bricht auch deine Schleife nie ab. Weil du in AL immer eine Taste einlädst. Und da wird eher per Zufall die Zahl 10 in eax stehen.
Du solltest also für das ansprechen der einzelnen Felder im Array lieber bx benutzen.

PS: Nimms nicht als Beleidigung, aber du solltest dich vielleicht in Sachen Assembler noch etwas schlau machen bevor es ans OS-Coding gibt.
Dein Code zeigt das du noch starke schwächen hast. Ich würde dir empfehlen ein Buch zu kaufen. Ich selbst habe mir mal das Buch "Programmiersprache Assembler - Eine strukturierte Einführung" von "Reiner Becker" gekauft.
Das ist zwar mehr ein Taschenbuch (also nicht sehr dick) und in erster Linie auf DOS ausgeichtet. Jedoch fand ich es für den Einstieg ganz gut, weil dort auch grundlegende Sachen über Assembler zu lesen waren. Sprich wie man mit SI und DI Strings bearbeitet usw.

Ansonsten könnte ich dir anbieten ein eBook zu schicken. Das ist zwar in Englisch und auch auf DOS ausgelegt, jedoch umfasst es 1000 Seiten und da steht wirklich alles drin.
555
OS-Design / Protected Mode
« am: 02. March 2004, 14:27 »
Dazu muss aber auch erstmal das restliche System und eine API stehen die alle Funktionen unterstützt die NASM benötigt :)

Aber prinzipiell kann man darüber nachdenken es zu portieren, wenn man mal soweit ist.

Ich persöhnlich mache sowas halt immer gerne nochmal selbst. Nicht weil ich der ansicht bin einen besseren Assembler schreiben zu können, sondern weil ich einfach mal die Erfahrung machen möchte.
556
Offtopic / lowlevel Promotion ?
« am: 01. March 2004, 23:40 »
So wollte ich das nicht nennen. Aber es kommt oft vor das jemand einen Code postet und eine Frage bzw Problem dazu hat.

Und dann streiten sich Tausend Leute wie man es am besten Macht und das der eine eh keine Ahnung hat usw.

Das meine ich damit.

Haste bestimmt schon in Foren mitbekommen ;)
557
OS-Design / Protected Mode
« am: 01. March 2004, 23:18 »
Naja was heisst für die HEUTIGEN Programmierer?

Wenn das ganze hier mal zu einem OS führen sollte, müssen dafür auch irgendwann mal Anwendungen geschrieben werden. Und was liegt da näher als zuerst einmal Entwicklungssoftware zu schreiben.

Aber soweit sind wir noch nicht ;)
558
Offtopic / lowlevel Promotion ?
« am: 01. March 2004, 23:16 »
LOL.

Also mein Studium schmeiß ich deswegen icht auf den Haufen *G*.
Immerhin hab ich in 1 bis 2 Semester auch Assembler und Betriebssysteme als Vorlesung. Und das will ich ja wohl nicht verpassen ;)

Klar ist es wünschenswert wenn mehr Leute hier Mitglied werden.
Jedoch musst du beachten das in vielen Foren wo VIELE Mitglieder zugange sind auch die Anzahl der wirklich SINNLOSEN Postings dramatisch ansteigt.

Gerade bei so einem speziellem Thema wie das hier sollten sich die Posts hier auch auf einem gewissen Level bewegen und auch dem ganzen dienen.

Wegen Statistik müßte sich Mastermesh mal melden. Er betreut die Webseite und kann wohl am ehesten dazu eine Aussage geben.
559
Das Wiki / download area
« am: 01. March 2004, 23:12 »
Hoi.

Ich hab auf Lycos eine HP auf der ich auch 50 MB webspace habe. Allerdings ist es da so, das man nicht direkt auf die Dateien verlinken kann, sondern über eine HP von Lycos darauf zugreifen muss.

Sofern sich auf diesem Server hier kein Webspace anbietet, würde ich mein Webspace zur verfügung stellen.

Ob das mit dem OS das hier "zusammen" entwickelt wird etwas wird kann ich nicht sagen. Bisher waren die Artikel in LowLevel auch mehr allgemein und eher dem reinen Verständnis gedacht.

Ich für meinen Teil werde mir aber wohl evtl ein kleines SingleTask OS basteln, damit ich eine Möglichkeit habe später mal Code den ich vielleicht für ein Tut brauche testen kann.

Allerdings steck dieses OS noch sehr in den Kinderschuhen.
Evtl werde ich das dann hier auch veröffentlichen.

Ich werde mal mit Mastermesh darüber diskutieren wie das mit LowLevel weitergehen soll und ob wir dann wirklich so nach und nach ein OS aufbauen.
560
Das Wiki / Inhalte für nächstes Magazin
« am: 01. March 2004, 23:07 »
Ich denke mal darauf wird es wohl hinauslaufen.

Es ist ja nicht verkehrt erst einmal nur ein SingleTask System zu haben.
Alleine an diesem läst sich dann viel weiteres realisieren.
So könnte man dieses als Ansatz nehmen um einzelne Interrupthandler zu veranschaulichen und dann auch eine Shell basteln über die man dann auf ein Dateisystem zugreifen kann.

Aber auch all das braucht eben so seine Zeit. Wir alle bemühen uns darum immer in so kurzen Abständen wie möglich etwas neues zu veröffentlichen.
Jedoch ist es so das wir? (ich zumindest) auch nicht so die Experten sind und uns ebenfalls erst in meist Englische Texte einlesen müssen. Und da wir nebenher auch noch Schule, Arbeit und Studium haben, ist auch unsere Zeit begrenzt. Somal mich meine Freundin auch ab und zu mal sehen möchte *G*.

Mastermesh hat ja schon ein Resource Center eingerichtet.
Jeder der dort gerne einen Beitrag posten möchte, der Verfasse einfach seinen Beitrag und schicke ihn mir oder mastermesh.
Wir schauen uns das dann an und posten es dann im Resource Center.
Seiten: 1 ... 26 27 [28] 29 30

Einloggen