diff options
| author | Andrew <saintruler@gmail.com> | 2020-10-22 21:03:24 +0400 |
|---|---|---|
| committer | Andrew <saintruler@gmail.com> | 2020-10-22 21:03:24 +0400 |
| commit | 143f34d941f32e0808fc9344d4c4126ff530d64a (patch) | |
| tree | c79fcf309ad00e52100c0da544d96d3cc6ab6617 /sem2/lab3/vdraw2.asm | |
Добавил решения второго семестра
Diffstat (limited to 'sem2/lab3/vdraw2.asm')
| -rw-r--r-- | sem2/lab3/vdraw2.asm | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/sem2/lab3/vdraw2.asm b/sem2/lab3/vdraw2.asm new file mode 100644 index 0000000..4223179 --- /dev/null +++ b/sem2/lab3/vdraw2.asm @@ -0,0 +1,68 @@ +.model small +.stack 100h +.data + +screenArr dw 1920 dup (0) + +.code + +clearScreen PROC NEAR + + mov cx,3840 + mov bx, offset screenArr + + saveScreen: + mov dx, es:[si] + mov word ptr [bx], dx + inc si + inc bx + loop saveScreen + + mov cx, 3840 + mov si, 0 + + fillScreen: + mov al,0 + mov es:[si], ax + add si, 2 + loop fillScreen + + ret + +clearScreen ENDP + +start: +.486 +mov ax,@DATA +mov ds,ax + +mov ax,0b800h +mov es,ax ;в es начало видеопамяти +mov si,0 ;смещение относительно начала видеопамяти +mov ah,7h ;атрибуты выводимых символов + +CALL clearScreen + +input: + MOV dx,1900h + INT 10h + + MOV ah,07h + INT 21h + +mov bx, offset screenArr +mov si, 0 +mov cx, 3840 + +restoreScreen: + mov dx, word ptr [bx] + mov es:[si], dx + inc bx + inc si +loop restoreScreen + +exit: + mov ax,4C00h + int 21h + +END start
\ No newline at end of file |