In een poging een minimalistisch osje te maken probeer ik het volgende,
eerst een bootloader te programmeren en dan vervolgens een stukje code hierin dat een sector in leest en die code dan kopieert in het geheugen en nadien uit uitvoert.
Alles is op dit moment nog maar om te proberen dus het eerste stukje code laat eee op het scherm zien het volgende stukje normaal fff
echter het tweede stukje code wordt nooit uitgevoerd iemand enig idee waarom hij blijft lezen op de diskette?
bootloader:
en dan het stukje om de f te laten zien:
Ik maak hier twee Bin's van en join die dan met een file joiner nadien schrijf ik het geheel met rawrite.
Groeten.
eerst een bootloader te programmeren en dan vervolgens een stukje code hierin dat een sector in leest en die code dan kopieert in het geheugen en nadien uit uitvoert.
Alles is op dit moment nog maar om te proberen dus het eerste stukje code laat eee op het scherm zien het volgende stukje normaal fff
echter het tweede stukje code wordt nooit uitgevoerd iemand enig idee waarom hij blijft lezen op de diskette?
bootloader:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
| use16
? equ 0
ORG 0
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Boot sector starts here ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
jmp start
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Boot sector code starts here ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
start:
mov ah,01h
int 10h ;zet in teksmode
mov al,'e'
mov bh,0
mov bl,10h
mov cx,10
mov ah,09h
int 10h ;schrijf karakter op scherm
mov ah,02h
mov al,1
mov ch,1
mov cl,1
mov dh,1
mov dl,1
mov bx,513 ; offset van begin adres hier moet de code ingeladen worden
int 13h
jmp 513
times 510- ($-0) db 0
dw 0xaa55 |
en dan het stukje om de f te laten zien:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
| use16
ORG 0
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Boot sector starts here ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
jmp start
start:
mov ah,01h
int 10h ;zet in teksmode
mov al,'f'
mov bh,0
mov bl,10h
mov cx,100
mov ah,09h
int 10h ;schrijf karakter op scherm
times 510- ($-0) db 0
dw 0xaa55 |
Ik maak hier twee Bin's van en join die dan met een file joiner nadien schrijf ik het geheel met rawrite.
Groeten.