maxuploader
Gebruiker
- Lid geworden
- 18 sep 2008
- Berichten
- 316
Hallo allemaal...
Ik ben naar aanleiding van deze: http://www.howtodothings.com/computers/a1015-making-your-ownoperating-system.html
maar eens begonnen met assembler.
Volgens de tutorial moet je Emu8086 downloaden om vervolgens deze code er in te plakken en te compile en die kun je booten.
Nou is het gelukt om te compilen en te booten.
Je krijgt dan die tekst te zien, en als je op een toets drukt herstart de computer.
Nou dacht ik als ik de lijn: msg DB 'Hello World' een kopieer en daar onder plak dat ik dan een nieuwe lijn creeer waar ik meer tekst op kan zetten.
Maar dan krijg ik een foutmelding:
(62) duplicate declaration of: MSG
Wat doe ik fout en hoe kan ik een nieuwe lijn creeren.
Kan iemand me mischien nog wat meer info geven om op deze code weer wat meer te doen zoals een input met output??
Hou er A.U.B even rekening mee dat ik totaal nieuw ben in assembler.
En astublieft kom niet aan dat ik eerst andere dingen moet leren ik vraag gewoon hoe ik dat moet doen.
Maxuploader
Ik ben naar aanleiding van deze: http://www.howtodothings.com/computers/a1015-making-your-ownoperating-system.html
maar eens begonnen met assembler.
Volgens de tutorial moet je Emu8086 downloaden om vervolgens deze code er in te plakken en te compile en die kun je booten.
Code:
#make_boot#
org 7c00h ; set location counter.
; add your code here
; directive to create BOOT file:
; load message address into SI register:
LEA SI, msg
; teletype function id:
MOV AH, 0Eh
print: MOV AL, [SI]
CMP AL, 0
JZ done
INT 10h ; print using teletype.
INC SI
JMP print
; wait for 'any key':
done: MOV AH, 0
INT 16h
; store magic value at 0040h:0072h:
; 0000h - cold boot.
; 1234h - warm boot.
MOV AX, 0040h
MOV DS, AX
MOV w.[0072h], 0000h ; cold boot.
JMP 0FFFFh:0000h ; reboot!
new_line EQU 13, 10
msg DB 'Hello World'
DB new_line, 'Press any key to reboot', 0
INT 19h ; reboot
Nou is het gelukt om te compilen en te booten.
Je krijgt dan die tekst te zien, en als je op een toets drukt herstart de computer.
Nou dacht ik als ik de lijn: msg DB 'Hello World' een kopieer en daar onder plak dat ik dan een nieuwe lijn creeer waar ik meer tekst op kan zetten.
Maar dan krijg ik een foutmelding:
(62) duplicate declaration of: MSG
Wat doe ik fout en hoe kan ik een nieuwe lijn creeren.
Kan iemand me mischien nog wat meer info geven om op deze code weer wat meer te doen zoals een input met output??
Hou er A.U.B even rekening mee dat ik totaal nieuw ben in assembler.
En astublieft kom niet aan dat ik eerst andere dingen moet leren ik vraag gewoon hoe ik dat moet doen.
Maxuploader