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

Seiten: 1 ... 57 58 [59] 60
1161
Lowlevel-Coding / Feldvariable
« am: 19. April 2004, 16:51 »
gibt es eigendlich irgendwo im Netz eine kopie von dem DOS-Int 0x21? Als ASM, so dass man die einsetzten kann, warum denn das Rad neu erfinden?
1162
Lowlevel-Coding / Bochs-emulator
« am: 18. April 2004, 10:32 »
aha...
1163
Lowlevel-Coding / Ein Sector = 512 Bytes ?!?
« am: 18. April 2004, 10:31 »
ich glaube das liegt an den 1,44 MB und 3,5" Disketten... Bei anderen Formaten ist es soweit ich weiß anderst... Da ist ein Sektor z.B. nur 256 Bytes lang... Bin mir aber nicht sicher...
1164
ich meine, dass man nicht alle themen durcheinander mischen sollte, sondern z.B. erst erklären, wie man im PM Text ausgiebt, wenn der Leser weiß, wie man in den PM wechselt... Also nicht schon in der nächsten Ausgabe zeigen, wie man einen CD-Treiber für sein OS im PM proggt, sondern erstmal, wie man in den PM wechselt, weil dass ja wichtig ist und man sonst mit dem treiber nichts anfangen kann... ich finde, man sollte alle wichtigen FUnktionen in ASM schreiben aber das OS, wo man dann ja alle Funktionen der Reihe nach aufruft in C, weil es übersichtlicher ist... Und ich habe nichts gegen PM...

Was ich sagen will ist, dass Themen erst dann kommen sollen, wenn man alles das hat, was man dazu braucht und nicht dann, wenn man noch nichtmal die Vorraussetztungen dazu kennt...
1165
Lowlevel-Coding / Include oder Sektor lesen ?
« am: 17. April 2004, 22:01 »
mit include wird es ja schon beim compilen in deinen kernel eingebunden und ist dann zusammen mit dem anderen eine "Datei"... Sektoren kannst du lesen, wenn z.B. der Benutzer will, dass der 4. Sektor gelesen werden soll... Das kann man nicht includen, da man, wenn der Benutzer ne neue Datei macht, man den Kernel neu compilen müsste...
1166
Lowlevel-Coding / code geht nicht...
« am: 17. April 2004, 21:52 »
so, bin jetzt wieder da... also:

ich konntenicht so ausführlich schreiben, da ich in einem Internet-Cafe war und man da bekanntlich nicht unendlich zeit hat... aber ich habe mein Problem mitlerweile durch ausprobieren geschaft... thx for help...

mfg

joachim_neu
1167
Lowlevel-Coding / Macro Problem
« am: 17. April 2004, 21:44 »
das ERROR-bild kommt bei mir auch immer, wenn ich direkt auf Hardware zugreifen will unter WIN... Ich denke das liegt daran, dass WIN im P-Mode läuft...
1168
Lowlevel-Coding / Bochs-emulator
« am: 17. April 2004, 21:39 »
hallo, wie bekommt man bei BOCHS einen Code zum laufen? Und kann man da auch mit BIOS-Ints auf Laufwerke und den Monitor zugreifen?
1169
ich würde alles der reihe nach nehmen, wie es in einem OS vorkommt und nicht plötzlich PM-Sachen schreiben, womit man nicht anfangen kann, weil man nicht weiß, wie man in den PM wechselt, alles schön der reihe nach... und ich würde immer ein Beispiel fortlaufen lassen und nicht immer lauter einzellne OSs machen, wo immer nur ein Thema erklärt wird... Und zu C: ich würde alles so "gemütlich" wie möglich machen, also nicht was in ASM schreiben, wo man mit einem C-Code das gleiche erreicht, der aber kürzer ist...
1170
Lowlevel-Coding / code geht nicht...
« am: 13. April 2004, 10:44 »
alles im r_mode, bin in hektik, wegen internetcafe und zeit... kennt ja jeder... code geht nicht, weil kein disklaufwerk.. aber ich habs... thx...
1171
Lowlevel-Coding / code geht nicht...
« am: 08. April 2004, 10:26 »
ich will mit lodsb ein Byte aus 0x3200:0x000, also Segment 0x3200, falsch ichs falsch geschrieben habe laden und in den Anfang eines Strings schreiben... Ich habe mir einen String nach ein Byte davor gemacht und dass mit putstr aus dem Magazin ausgegeben in der Hoffnung, dass ich so zu rechten ort käme... dann habe ich mit lodsb geladen, ging aber nicht... er tat so, als hätte er einfach die befehle bis zum nächsten jump übersehen... bitte helft mir.... irgendwas mache ich falsch, aber ich komme nicht drauf...
1172
Das Wiki / Ein Paar Vorschläge...
« am: 29. March 2004, 19:18 »
gibt es irgendeine Seite, auf der man alle linux-kernel einsehen kann?
1173
Lowlevel-Coding / Ausführen und Speicher...
« am: 28. March 2004, 13:21 »
hallo, hab meine routinen verändert und einen beispielsector zum laden geschrieben:


;************out.asm*********************
;Datei, bzw. Sector zum Laden

mov ax, 0x2200 ; Segmentregister updaten
mov ds, ax
xor ax,ax
mov es, ax
mov si, will
call putstr
;!!!!!!!!!FUNKTIONEN!!!!!!!!!
;Stringausgabe
putstr:
lodsb
or al,al
jz short putstrd ; 0-Byte? -> Ende!
mov ah,0x0E      ; Funktion 0x0E
mov bx,0x0007    ; Atrribut-Byte
int 0x10         ; schreiben
jmp putstr       ; nächstes Byte
putstrd:
retn
willkommen db "willkommen"
times 512-($-$$) db 0   ; Dateilänge: 512 Bytes              


;*************teil von kernel.asm******************
;lade routine

;fürt sectoren aus...
; Lade den Programm vom Bootlaufwerk
; Diskdrive reset (Interrupt 13h, 0)
push ds ; Sichere DS
mov ax, 0 ; Die gewünschte Funktion (reset)
mov dl, 0 ; Dieses Laufwerk ist gewünscht
int 13h ; Den Interrupt ausführen
pop ds ; DS wiederherstellen
jc execute ; Geht nicht? nochmal!
; Sektoren lesen (Interrupt 13h, 2)
mov ax,0x2200 ; ES:BX = 22000
mov es,ax
mov bx,0
;startsector
mov si,exe_start
call putstr
call getkey
dec ah
mov cl,ah ; Sector zum starten
;anzahl der zu lesenden sectoren
mov si,exe_number
call putstr
call getkey
dec ah
mov al,ah ; Lese Sektorn zum lesen ein
mov dl, 0 ;Laufwerk 0
mov dh, [head]
mov ch, [track]
mov ah, 2 ; Funktion 2 (Lesen)
int 13h ; ES:BX = Daten vom Laufwerk
mov ax, 0x2200 ; Die Adresse des Programms
mov es, ax ; Segmentregister updaten
mov ds, ax
push ax
mov ax, 0
push ax
retf

aber irgendwie geht es nicht, manchmal passiert garnichts, und wann anderst komische zeichen und irgenwo in den zeichen dann diese
willkommen-Zeichenkette...
1174
Lowlevel-Coding / Cursorposition
« am: 27. March 2004, 11:07 »
oder du machst einfach einen string mit garnichts und hängst dann die parameter an, so mach ich immer, wenn nach einer ausgabe eines speicherblocks der cursor irgendwo in der mitte ist:

break db "",13,10,0

und den gibste dann einfach aus...
1175
Lowlevel-Coding / get_number
« am: 26. March 2004, 20:16 »
hab es ein bisschen umgeändert:

;*****************************
;Funktion get_number
;Input:   ---
;Output:   CX enthällt die Zahl
;geändert wird CX
;*****************************


get_number:

push ax
push bx

mov ax,0x0000
int 0x16                ;in ah ist der scancode
dec ah

cmp ah,0x1B             ;wenn ENTER gedrückt wird beenden
jz end_get_number
cmp ah,0x0A
jz zu_0_1
erst:
mov bh,ah
mov cl,ah
mov bl,0x07             ;die eingegebene Zahl wird ausgeben
mov ah,0x0E
int 0x10

mov ax,0x0000
int 0x16                ;in ah ist der scancode
dec ah

cmp ah,0x1B             ;wenn ENTER gedrückt wird beenden
jz end_get_number
cmp ah,0x0A
jz zu_0_2
zweit:
mov bl,0x07             ;die eingegebene Zahl wird ausgeben
mov ah,0x0E
int 0x10

mov ch,bh
mov cl,ah

end_get_number:
pop bx
pop ax
;jmp ZURÜCK

zu_0_1:
mov ah,0x00
jmp erst

zu_0_2:
mov ah,0x00
jmp zweit              


bitte schaut euch das an und sagt mir, ob ihr einen logischen fehler findet, denn sonst müsste es gehen, man soll mit dieser funktion eine zahl (zwei stellen) von der tastatur einlesen und nach CX speichern... bei mir erscheinen bei der ausgabe lauter sonderzeichen...
1176
Lowlevel-Coding / get_number
« am: 26. March 2004, 15:15 »
hallo, hab eine neue funkion, weis aber nicht, ob sie läuft, weil bochs bei mir net geht... also zuerst testen...



;*****************************
;Funktion get_number
;Input:   ---
;Output:   BX enthällt die Zahl
;geändert wird CX
;*****************************


get_number:

push ax
push bx

mov ax,0x0000
int 0x16                ;in ah ist der scancode
dec ah

cmp ah,0x1B        ;wenn ENTER gedrückt wird beenden
jz end_get_number
mov bl,07h        ;die eingegebene Zahl wird ausgeben
mov ah,0Eh
int 10h      
mov ah,cl

mov ax,0x0000
int 0x16                ;in ah ist der scancode
dec ah

cmp ah,0x1B        ;wenn ENTER gedrückt wird beenden
jz end_get_number
mov bl,07h        ;die eingegebene Zahl wird ausgeben
mov ah,0Eh
int 10h      

mov ah,ch

end_get_number
pop bx
pop ax
jmp ZURÜCK



JOACHIM NEU
1177
Lowlevel-Coding / Cursorposition
« am: 26. March 2004, 14:48 »
wird nach dem Starten und bevor das problem auftritt ein String ausgegeben? Vielleicht hast du bei dem die Parameter falsch gesetzt... Damit eine neue Zeile dierekt an dem ersten Zeichen entsteht musst du ",13,10,0" an den String anhängen...
1178
Lowlevel-Coding / times 512-($-$$)-2 db 0 funzt nicht
« am: 25. March 2004, 19:43 »
stimmt, ich habe auch schon FASM (mit nem hübschen Editor) ausprobiert, aber das bringts net, da muss man dann jeden Code aus nem Tut umschreiben, und wenn man ihn ja net versteht ist das schwierig...
1179
Das Wiki / Sammlungen
« am: 24. March 2004, 16:37 »
ich meine ja, dass die ganze community das macht, so dass immer, wenn jemand ein Tut im Netz findet, egal ob er es braucht, stellt er es einfach in diese Liste...
1180
Lowlevel-Coding / E-Book oder Tut
« am: 23. March 2004, 19:07 »
ich weiß nicht, wie man den Namen der Datei lesen soll und woher und wie die Pfadangabe geht... sonst ist es ja ein Sector, der FAT-Sektor, der mit diesen 12er-Päckchen zusammengesetzt ist...
Seiten: 1 ... 57 58 [59] 60

Einloggen