From 143f34d941f32e0808fc9344d4c4126ff530d64a Mon Sep 17 00:00:00 2001 From: Andrew Date: Thu, 22 Oct 2020 21:03:24 +0400 Subject: =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8=D0=BB=20=D1=80?= =?UTF-8?q?=D0=B5=D1=88=D0=B5=D0=BD=D0=B8=D1=8F=20=D0=B2=D1=82=D0=BE=D1=80?= =?UTF-8?q?=D0=BE=D0=B3=D0=BE=20=D1=81=D0=B5=D0=BC=D0=B5=D1=81=D1=82=D1=80?= =?UTF-8?q?=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sem2/lab3/vdraw2.asm | 68 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 sem2/lab3/vdraw2.asm (limited to 'sem2/lab3/vdraw2.asm') 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 -- cgit v1.2.3