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 - ASM-noob

Seiten: [1]
1
Lowlevel-Coding / Re: Problem mit Textausgabe
« am: 28. June 2008, 14:15 »
sapphire die Zeile
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS.0="Microsoft Windows XP Home Edition"
muss man nur eingeben falls man ein Windows betriebsystem booten will (hier z.b. WindowsXP)
aber ein betriebsystem wie Linux würde er nicht starten (jedenfalls habe ich es so gelesen)
da muss man nur die Adresse also wie bei mir z.b. C:\NanoOS\NanoOS.bin und nur noch die Beschreibung also den Namen des Betriebsystems z.b. ="NanoOS"
2
Lowlevel-Coding / Re: Problem mit Textausgabe
« am: 27. June 2008, 16:03 »
kein problem
das ist der inhalt der boot.ini
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS.0
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS.0="Microsoft Windows XP Home Edition" /fastdetect /NoExecute=OptIn
C:\NanoOS\NanoOS.bin="NanoOS"
Die letzte Zeile habe ich eingefügt sonst habe ich nix verändert in der Datei
3
Lowlevel-Coding / Re: Problem mit Textausgabe
« am: 27. June 2008, 15:53 »
ja ich habe in der boot.ini die adresse von der Datei eingegeben und noch die Beschreibung und er startet normal ohne probleme den kernel
4
Lowlevel-Coding / PROBLEM GELÖST!!!
« am: 27. June 2008, 15:30 »
jetzt habe ich den fehler gefunden ich habe vergessen am anfang vom code
org 0x7C00einzugeben und nun geht es also der text erscheint und man kann schreiben
5
Lowlevel-Coding / Re: Problem mit Textausgabe
« am: 26. June 2008, 21:18 »
@MNemo
ne das löst auch nicht das Problem

@bluecode
ich habe den kernel in einem Ordner auf der 1. Festplatte gespeichert
NTLDR ist ebenfalls auf der 1. Festplatte

wenn NTLDR den kernel ausführt erscheint nur ein mergwürdiges T
bei dem T fehlt ein kleines stück an der linken seite
6
Lowlevel-Coding / Problem mit Textausgabe
« am: 26. June 2008, 20:31 »
Hi@all

ich bin noch ein noob beim Thema Assembler aber die wichtigsten Befehle beherrsche ich
ich habe mir einen einfachen Kernel gebastelt und habe ihn mit NTLDR gestartet.
Der Kernel soll nur einen kurzen Text ausgeben und man kann Text eingeben
wenn man die Taste 0 drückt rebootet der kernel
start:

mov si,msg
call putmsg
call schreiben

msg db "Schreib irgendeinen Text:",13,10,0

putmsg:
lodsb
or al,al
jz putmsgend
mov ah,0Eh
int 10h
jmp putmsg

putmsgend:
retn

schreiben:
mov ah,00h
int 16h
mov ah,0Eh
int 10h
cmp al,48
je reboot
jmp schreiben

reboot:
jmp 0xffff:0x0000
aber wenn der kernel ausgeführt wird erscheint nicht der Text "Schreib irgendeinen Text" aber man kann normal mit der Tastatur was schreiben und er rebootet beim drücken auf die Taste 0.
Was stimmt nicht mit der funktion putmsg? :?
oder habe ich den ganzen code falsch geschrieben?
Seiten: [1]

Einloggen