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 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111
| Data segment
data ends
Code segment
Assume CS : Code , DS : data
Deb :
MOV AX, data
MOV DS, AX
MOV AH, 0 ;mode VGA
MOV AL, 13h
INT 10h
MOV AX, 0A000h ;Segment écran
MOV ES, AX
MOV AX, 30
MOV BX, 50
MOV CX, 100
mov dx,0
call droite
MOV AX, 30
MOV BX, 50
MOV cX, 120
mov dx,1
call droite
;MOV AX, 30
;MOV BX, 170
;MOV cX, 101
;mov dx,0
;call droite
MOV AX, 130
MOV BX, 50
MOV cX, 120
mov dx,1
call droite
mov AX, 85
mov BX, 165
mov CX, 20
mov dx, 0
call droite
MOV AH,8
INT 21h
MOV AH, 0
MOV AL, 3
INT 10h
MOV AH, 4Ch
INT 21h
droite proc
mov si,bx
mov di,ax
mov ax,320
push dx
mul bx
add di,ax
pop dx
cmp dx,0
je boucle2
boucle:
inc si
mov es:byte ptr[di],95
add di , 320
cmp si,200
jge fin
loop boucle
jmp fin
boucle2:
inc si
mov es:byte ptr[di],95
inc di
cmp si , 320
jge fin
loop boucle2
fin:
ret
droite endp
efface_ecran PROC
MOV DI, 0
MOV CX,320
bigboucle2:
PUSH CX
MOV CX,200
boucle3:
MOV AL, 0
MOV ES:[DI], AL
INC DI
LOOP boucle3
POP CX
LOOP bigboucle2
RET
efface_ecran ENDP
Code ends
END deb |
Partager