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 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81
| [bits 16]
[org 100h]
;*** cette partie me permet de sauver sur le secteur 1 de la disquette ***
mov ax,0x00
mov dl,0x00
int 0x13
mov ax,0x301
mov bx,start
mov dx,0x0000
mov cx,0x0001
int 0x13
ret
;*********************************************************
;********** partie qui est sauvée sur le secteur 1 *********
start:
mov ah,0h ; je rentre en mode graphique 320x200x256
mov al,13h
int 10h
mov ah,0x0e ; je me prepare a ecrire un caractere
mov bh,0x00
mov bl,0x07
message:
mov al,'O' ; debut de mon message
int 0x10 ; mais cela se fait caractere par caractere
mov al ,'S'
int 10h
mov al,' '
int 0x10
mov al ,'V'
int 10h
mov al,'E'
int 0x10
mov al ,'R'
int 10h
mov al,'S'
int 0x10
mov al ,'I'
int 10h
mov al,'O'
int 0x10
mov al ,'N'
int 10h
mov al,' '
int 0x10
mov al ,'1'
int 10h
mov al,'.'
int 0x10
mov al ,'0'
int 10h ; a partir d'ici je ne sais pas comment revenir a la ligne apres
times 510-($-start) db 0
db 0aah
db 55h
;********************* fin *******************
voila le code. je precise que j'ai essayé ce code d'avord à partir du label message ci dessus:
message:
msg db "OS version 1.0",10,13,0
mov si,msg
mov ah,0x0e
mov bh,0x00
mov bl,0x07
continue:
lodsb
cmp al,0
je fin
int 10h
jmp continue
fin:
times 510-($-start) db 0
db 0aah
db 55h |
Partager