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

Seiten: 1 ... 4 5 [6] 7
101
Lowlevel-Coding / Re: Division mit 0?
« am: 15. November 2008, 19:47 »
thx naja es ist spät
ich wusste doch es ist bestimmt nur ein dämlicher fehler
danke...
102
Lowlevel-Coding / Division mit 0?
« am: 15. November 2008, 18:34 »
ich hab mir heute eine error routine für division mit 0 geschrieben, das ganze auf int 0 in der IVT regitriert und ums zu testen die folgende routine in das os eingebaut und ausgefürt
mov ax, 0
mov bl, 01h
div bl
und nun kommt das spanneste: es kommt 0 raus!  :-o :?
kein int, kein garnichts soner ein ergebnis

ok, hab ich mir gedacht, nimmst die standart routine vom bios.
die registrierung meines int 0 in der IVT rausgenommen, kompiliert und ausgefürt und es kommt wieder 0 raus!  :? :? :?

und nun meine frage: wird im obrigen codestück garnicht durch 0 dividiert? und wenn ja, wie wird durch 0 dividiert?

ps: ja, mov, ax, 0 kann man auch xor ax, ax schreiben ich weiss...
103
Lowlevel-Coding / Re: Problem mit IDT unter C/C++
« am: 20. October 2008, 17:20 »
wieder was gelernt... danke

zwar off topic aber wiso  gibt es nicht so einen bedanken button hier im forum?
104
Lowlevel-Coding / Re: Problem mit IDT unter C/C++
« am: 20. October 2008, 16:50 »
ich kenn mich mit c/c++ zwar nicht so aus aber wieso hast du
asm("int $50");
geschrieben in asm hießt es doch
int 0x50
oder
int 50h
also müsste es doch asm("int 0x50");
oder
asm("int 50h");

oder nicht?
105
OS-Design / Re: Wie weiter?
« am: 21. September 2008, 20:46 »
du must dein int noch in der idt, glaub ich so heißt das, registrieren sonst kannst du es nicht verwenden und wenn du das gemacht hast kannst du eig den putstr call rausnehmen.
106
Lowlevel-Coding / Re: standardfarbe 0x07 ändern bei int 0x10
« am: 15. September 2008, 19:28 »
noos_set_cursor_pos:
bei mir ist es schon bei getkey einen weiter gerückt, wenn du das meintest
107
Lowlevel-Coding / Re: standardfarbe 0x07 ändern bei int 0x10
« am: 15. September 2008, 18:37 »
so wie ich das sehe wird sie erst bei set_key geändert
vermeiden kanst du es in dem du  set_key weg lässt ... xD
108
Offtopic / Re: Einfach hereingeschneit
« am: 13. September 2008, 11:39 »
angenem, Christian. xD
na dan wellcome on board
109
Lowlevel-Coding / Re: standardfarbe 0x07 ändern bei int 0x10
« am: 13. September 2008, 09:24 »
ich würd sgen, dass 'inc dl,' nur 'inc dl heißen muss
und ein {enter} muss mit einer 'normalen' 'bios_string_output' geschrieben werden ich hab das bei mir so gelöst:
;unmengen zeilen an code .....
mov si, sys_msg    ;<---- das ist farbig
mov al, 01h
mov ah, 01h
mov bl, 09h
int 21h
mov si, ent ;<-------- das ist das 'Enter'-zeichen
mov al, 0x01
int 0x21
;########
;#Variablen#
;########
;andere variablen...
ent db "",13,10,0
sys_msg db "SolOS System Ready.",0
;noch mehr variablen
;##############
;#int's und funktionen#
;##############
;int....
_int0x21:
     _int0x21_ser0x01:       
     cmp al, 0x01         
     jne _int0x21_end       
cmp ah, 0x01
jne _int0x21_ser0x01_start

_int0x21_ser0x01_ser0x01_start:
lodsb
or al,al
jz _int0x21_ser0x01__ser0x01_end

mov ah,09h
;<--- Farbattribut  0 = Schwarz  1 = Blau  2 = Grün 3 = Türkis 4 = Rot 5 = Magenta 6 = braun 7 = Hellgrau 8 = Dunkelgrau 9 = Hellblau a = Hellgrün b = Helltürkis c = Hellrot d = Hellmagenta e = gelb f = weiß
mov cx,0001h
int 10h

;Cursorposition auslesen
mov ah,03h
int 10h
inc dl

;und Cursorposition schreiben
mov ah,02h
int 10h
jmp _int0x21_ser0x01_ser0x01_start
_int0x21_ser0x01__ser0x01_end:
jmp _int0x21_end


 
     _int0x21_ser0x01_start:
     lodsb                   
     or  al, al             
     jz  _int0x21_ser0x01_end
     mov ah, 0x0E           
     mov bh, 0x00           
     mov bl, 0x07           
     int 0x10               
     jmp _int0x21_ser0x01_start
     _int0x21_ser0x01_end:
     jmp _int0x21_end
 
     _int0x21_end:
     iret
;funktionen
;....
ich hoffe du kannst damit was anfangen
110
Lowlevel-Coding / Re: standardfarbe 0x07 ändern bei int 0x10
« am: 12. September 2008, 18:50 »
ich hab nochmal ein bisschen probiert und entlich code gefunden der funzt und das ganze hab ich mit zuhilfename dar wiki das als int definiert
hier mal der code:
_int0x21:
     _int0x21_ser0x01:     
     cmp al, 0x01           
     jne _int0x21_end       
cmp ah, 0x01
jne _int0x21_ser0x01_start

_int0x21_ser0x01_ser0x01_start:
lodsb
or al,al
jz _int0x21_ser0x01__ser0x01_end

mov ah,09h
;<--- Farbattribut  0 = Schwarz  1 = Blau  2 = Grün 3 = Türkis 4 = Rot 5 = Magenta 6 = braun 7 = Hellgrau 8 = Dunkelgrau 9 = Hellblau a = Hellgrün b = Helltürkis c = Hellrot d = Hellmagenta e = gelb f = weiß
mov cx,0001h
int 10h

;Cursorposition auslesen
mov ah,03h
int 10h
inc dl

;und Cursorposition schreiben
mov ah,02h
int 10h
jmp _int0x21_ser0x01_ser0x01_start
_int0x21_ser0x01__ser0x01_end:
jmp _int0x21_end


 
     _int0x21_ser0x01_start:
     lodsb                   
     or  al, al             
     jz  _int0x21_ser0x01_end
     mov ah, 0x0E           
     mov bh, 0x00           
     mov bl, 0x07           
     int 0x10               
     jmp _int0x21_ser0x01_start
     _int0x21_ser0x01_end:
     jmp _int0x21_end
 
     _int0x21_end:
     iret
und auf rufen kann man das mit:

mov si, <text>
mov al, 0x01 ;<--- normale bios teletype output
int 0x21 ;<--- int 21h

mov si, <text>
mov al, 01h  ;<--- schreiben
mov ah, 01h  ;<--- mit farbe
mov bl, 0x7E  ;<--- welche farbe: 0xhintergrund/textfarbe
int 21h  ;<--- int 21h

und wie in der wiki steht man muss es noch intialiesieren:

    push dx
    push es
    xor ax, ax
    mov es, ax
    cli
    mov word [es:0x21*4], _int0x21  ; Pointer auf den Handler
    mov [es:0x21*4+2], cs           ; Pointer auf CS
    sti
    pop es
    pop dx
ich hoffe ich konnte helfen
111
ich bin seit freitag dabei eienen tastatur treiber für mein os zu schreiben aber nun will es nicht so wie ich will, meien idee war es das bios standart layout zu nehemen und die zeichen der tastatur anzupassen zb. bios standart layout z und y vertauscht-> zurücktauschen.
nun hab ich aber das problem, dass die zeichen nach der bearbeitung nicht ausgegeben werden und das der tastatur puffer nach kurzer zeit voll ist, und desshalb keine zeichen mehr aufnimmt. aber das passiert nur wenn dieser bearbeitungs code aufgerufen wird.

hier der problem code:
tasttr: 
mov ah, 0 
int 16h 

cmp ah, 0x4B  ;scancode für pfeiltaste links
je near key_left 
.
. ;hier werden noch andere scancodes abgefragt
.
cmp al, 'z'
je near key_y 
.
.  ;hier werden noch andere ascii zeichen und codes abgefragt
.

weiter:
mov ah, 0x0e   
int 10h

;das folgende sind konvertierungen von groß zu klein; haben nur bedeutung fur die befehlsauswehrtung

mov dl, 'A'   
cmp al, dl   
je near A2a_a   
.
.  ;hier werden alle buchstaben Von groß zu klein konvertiert
.
ret
A2a_a: 
mov al, 'a' 
ret 
.
. ;hier werden alle buchstaben Von groß zu klein konvertiert
.

key_left:
mov si, left ;Inhalt: 'left wurde gedrückt'
mov al, 01h ;funktion 01h (schreiben) des
int 21h   ;int 21h (eigenes int mit bios teletype)
jmp weiter
.
.
.

key_y:
mov al, 'y'
jmp weiter 

.
.
.
mfg bb chris12
112
Lowlevel-Coding / Re: raw dateien speichern
« am: 04. September 2008, 16:33 »
und den rest (500kb) könnte ich ja im klartext-hexcode sprich
68 61 6C 6C 6F (hallo)
und den header müsste ich ja mit übersetzten asm befehlen gemacht werden sprich B8 00 30 8E D8 8E C0entspricht
     mov ax, 0x3000
    mov ds, ax
    mov es, ax
oder?
113
Lowlevel-Coding / Re: raw dateien speichern
« am: 04. September 2008, 14:24 »
das mit dem code war nur ein Windows bsp. um zu verdeutlichen was ich meinte( so kann man unter windows mit der konsole oder einer bat datei datein erstellen)


danke das mit int 0x13
114
Lowlevel-Coding / raw dateien speichern
« am: 03. September 2008, 22:24 »
ich bin jetzt mit meienem OS soweit, dass ich datem auf der diskette speichern will allerdings möchte ich es erst ein mal ohne fs machen denn dass müsste doch eigentlich auch gehen oder?

meine idee war jetzt

1. daten abfragen (text zb in einer variablen speichern)
2. daten zusammen fügen und die datei 1sek groß machen
3. die datei schreiben
4. einen eintrag in eine tabelle machen die auch gespeichert werden müsste


1. /2. sollte ich noch hinbekommen aber bei 3./4.?
gibt es zumschreiben irgentwelche ints bzw könnte man eine print- funktion nemen und die ausgabe auf die diskette umleiten?

wie bei dos
echo test > test.txt

ich hab schon gesucht aber irgent wie hab ich noch nichts passendes gefunden oder ich bin einfach nur zu blöde :)
115
Lowlevel-Coding / Re: standardfarbe 0x07 ändern bei int 0x10
« am: 31. August 2008, 14:10 »
thx @ all jetzt funztz :-D
aber ich glaub ich bleib doch erstmal bei dem den ich schon hab und bei der farbe 0x07 :-)
und ja ich arbeite noch im RM
116
Das Wiki / Re: wiki und beiträge
« am: 31. August 2008, 12:24 »
thx
117
Lowlevel-Coding / Re: standardfarbe 0x07 ändern bei int 0x10
« am: 31. August 2008, 12:13 »
ok danke die farbe ist jetzt ne anderre aber wie defienierst du dann die strings die du ausgeben willst, ich hab sie immer mit
nachricht db "bla bla bla...",13,10,0
defieniert und das geht so bei mir nicht
118
Das Wiki / Re: wiki und beiträge
« am: 31. August 2008, 11:53 »
ich weiss, dass die frage dumm klingt, aber Wie kann man neue beiträge in der wiki erstellen?

ich hab mich schon umgehört aber nichts brauchberes gefunden
119
Lowlevel-Coding / Re: standardfarbe 0x07 ändern bei int 0x10
« am: 31. August 2008, 11:09 »
ok ich werd mich versuchen dran zu halten
120
Das Wiki / Re: wiki und beiträge
« am: 31. August 2008, 11:08 »
danke für die schnelle antwort
Seiten: 1 ... 4 5 [6] 7

Einloggen