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 - Rookie

Seiten: [1]
1
Zitat
Du musst das Makro erst definieren, bevor du es benutzt, nicht umgekehrt.
Stimmt, habs eben festgestellt, danke !
2
Hallo,

Ich hab ein paar Fragen zum Beispiel, wie man eine Division durch Null abfängt (im Artikel IVT). Ich hab dazu einfach mal einen dummen Kernel gemacht, der nur eine Meldung ausgibt, das Makro verwenden soll und das Ganze dann anhand einer Division durch Null testen soll:


mov ax, 0x0800
mov ds, ax
mov es, ax
start:
xor bx, bx

;  ... hier ist der Startcode ...
IVT.Handlerwahl 0x00, IRQ_0x00
;  ... hier kommt dann noch irgendein Code ...

IRQ_0x00:   ;Handler für IRQ 0
;  ... hier kann ein Hinweistext geschreiben werden o.ä.  ...
iret


;Testen anhand einer Division durch Null
xor ax, ax
div ax


%macro IVTHandlerwahl 2
push ax
push es
xor ax, ax
mov es, ax
cli
mov WORD [es:%1*4], %2
mov WORD [es:%1*4+2], cs
sti
pop es
pop ax
%endmacro

end:
jmp end

Leider kommt beim assemblieren die Meldung
Zitat
error: parser: instruction expected
und zwar  beim Aufruf des Makros in der Zeile : IVT.Handlerwahl 0x00, IRQ_0x00
Könnt ihr mir sagen, wie ich das Makro richtig aufrufen kann und welchen Code ich wo einfügen muss, damit er bei einer Division durch Null z.B. zum Anfang des "Kernels  :-D " springt ?

Vielen Dank !   





 
3
Lowlevel-Coding / Re: FAR-Jump in NASM
« am: 10. January 2017, 11:48 »
Hallo,
ähm mit immediate-Werten meinst du sowas wie Hard-codierte-Adressen, also
jmp 0x1000:0x0000oder ?

Mit dem "Far Pointer im Speicher" hab ich dich nicht so recht verstanden. Meinst du damit das push es, push bx, retf ?
Oder mit dem Schlüsselwort far ?
Habs mit far versucht, aber ohne Erfolg.

Hättest du mir ne Zeile Beispielcode ?

Vielen Dank !
4
Lowlevel-Coding / FAR-Jump in NASM
« am: 10. January 2017, 08:20 »
Hallo,
ich hab mal eine Frage zu NASM : Wie schaff ich es, den JMP-Befehl mit ES und BX oder Variablen zu verwenden ?
Hab schon jmp [es:bx], jmp es:bx und jmp [JmpSeg:JmpOff] versucht, alles ohne Erfolg. Das einzige was geht, ist eine feste Adresse ala :
jmp 0x1000:0x0000oder über retf : push es, push bx, retf.

Irgendwie ging es, dass man den JMP-Befehl in Verbindung mit ES und BX verwenden kann, nur weiß leider nicht mehr wie.
Könnt ihr mir helfen ?

Vielen Dank,
osdever
5
Lowlevel-Coding / FAT12 Handmade Frage
« am: 13. February 2016, 12:29 »
Hallo,
ich habe eine Frage zum Artikel http://forum.lowlevel.eu/index.php?topic=439.0. Hier steht, dass man nach dem Bootsektor weitere 22 Sektoren mit Nullen erstellen soll. Ich hab da ein paar Tests gemacht und zu folgenden Fragen gekommen (zum Hinweis : das Ganze bezieht sich nur auf FAT12). Das hier soll keine Korrektur oder so sein, ich möchte nur den Sinn verstehen

1. Ich hab mal testweise die 3 Byte nach dem Bootloader weggelassen (db   0xff,0x0f,0xf8) und das Image wurde dennoch als FAT12 erkannt. Wozu braucht man die 3 Bytes also ?

2. Mit times 12288-($-$$) db 0 erstellt man 22 Null-Sektoren. Mit den 22 Sektoren löscht man aber nur die beiden FATs und einen Teil des Root-Directories. Sollte man nicht nach dem Bootsektor die darauffolgenden 9+9+14 = 32 Sektoren löschen (FAT1+FAT2+RootDir) um ein jungfräuliches Diskettenimage zu erhalten ?

Vielen Dank,
Rookie
6
Lowlevel-Coding / Re: C-Kernel mit GRUB
« am: 15. October 2014, 14:56 »
Ich verwende Linux Mint, also Ubuntu. Da gibts viel zum Thema GRUB2 durch GRUB ersetzen, was ich allerdings auch in ner virtuellen Maschine machen kann. Mich beschäftigen jedoch mehr die 2 Fragen zum Tutorial.
7
Lowlevel-Coding / C-Kernel mit GRUB
« am: 15. October 2014, 10:43 »
Hallo,

ich hab nur 3 kleine Fragen zum Thema GRUB und zum Tutorial C-Kernel mit GRUB. Genauer gesagt bei einigen Passagen mit GRUB. Ich hoffe ihr könnt mir helfen.

Ich will meinen Bootloader nicht ersetzen, nur GRUB Legacy haben um die Konsole starten zu können. Reicht es dazu, wenn ich sudo apt-get install grub eingebe?

Die folgenden 2 Fragen beziehen sich aufs Tutorial :
# sudo mount -oloop test.img /mnt
# sudo mkdir /mnt/grub
# sudo cp /boot/grub/stage* /mnt/grub
# sudo cp kernel /mnt                                     => Muss diese Zeile nicht "sudo cp kernel.bin /mnt" heißen ?
# sudo umount /mnt

Leider hat mein Rechner kein Floppy Laufwerk (Also kein fd0). Wie kann ich die folgenden Aktionen
# grub
grub> device (fd0) test.img
grub> root (fd0)
grub> setup (fd0)
grub> quit
dann auf dem Image ausführen? Oder muss ich dazu extra ein Loop-Device erstellen?

Vielen Dank,
Rookie
8
Das Wiki / Thema löschen
« am: 22. August 2014, 08:00 »
Hallo,

an wen muss ich mich wenden, wenn ich eines meiner Themen löschen möchte ?
9
Offtopic / Suche Mitglieder für neues Anfänger-OS
« am: 21. August 2014, 10:15 »
HALLO,

Ich möchte gerne ein neues einfaches Anfänger-Betriebssystem bauen.

Bisher hab ich nicht besonders viel Erfahrung, nur in Assembler und C kann ich Kenntnisse vorweisen, sowie im Real-Mode-Programming.
Und wenn man mehr als nur Einzelkämpfer ist, kann man schneller Probleme erkennen und lösen und es macht einfach viel mehr Spass.

Also wenn auch du Lust hast, ein OS von Grund auf neu zu entwickeln, dann hinterlass mir hier ne Nachricht

Was du mitbringen solltest : VIEL FREUDE AM PROGRAMMIEREN  :-D

Würde mich freuen.
Viele Grüße,
Rookie


10
Offtopic / Re: NSA und die Sicherheit von Betriebssystemen
« am: 21. August 2014, 09:57 »
Zitat
Also ich würde sagen als Open Source Projekt. Einem Closed Source OS könnte man nicht trauen
Stimm ich zu.
Zitat
Genau so macht das Linux. Es ist kein "OS aus den USA", sondern ein Open Source Projekt, an dem sich Leute aus aller Welt beteiligen.
Das seh ich auch so.

Das Zeug mit NSA usw. war schon von Anfang an klar, genauso wie Überwachung von Smartphones, Handies usw. Nur jetzt ist es raus und alle Welt kriegt irgendwie Panik. Wie es immer schon war. Derjenige, der den größeren Hammer hat hat das sagen.

Zitat
Klar ist krass, was die NSA so treibt, aber im Grunde wusste man immer das ncihts im Internet wirklich sicher ist.
So ist es und EMail sowie WhatsApp war auch noch nie verschlüsselt, das war von Anfang an klar.

Und wenn du so ein sicheres OS hättest und viele Leute es zudem noch verwenden würden, dann würde irgendein Hacker eine Sicherheitslücke finden und der Hacker würde von Microsoft engagiert werden  :-D. Da müsstest eine Anti-Überwachungs-Kampagne starten und selbst dann würd die NSA da ihre Leute reinbringen und der ganze Mist würde wieder von vorn beginnen. Das siehst am Beispiel von TOR. Auch wenn TOR kein OS ist, so dachte man doch, dass man damit (einigermaßen) anonym im Internet surfen könnte. Jetzt wird es langsam abgeschaltet.

11
Lowlevel-Coding / Re: Wie benutzt man das Dateisystem?
« am: 06. August 2014, 14:58 »
Hallo,

Ein Dateisystem definiert lediglich die Struktur, wie auf einem Device (Festplatte, USB-Stick, Floppy) die Dateien angeordnet sind. Du kannst es vergleichen mit einer riesen großen Tabelle in der nach einer bestimmten Anordnung steht, wo eine Datei liegt, wie groß diese Datei ist, wieviele Sektoren diese auf dem Device belegt, Start- und Endsektor der Datei, Dateiattribute, usw. 



Seiten: [1]

Einloggen