Лабораторная работа 2
.docxМИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ КЫРГЫЗСКОЙ РЕСПУБЛИКИ
КЫРГЫЗСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ
УНИВЕРСИТЕТ ИМ. И. РАЗЗАКОВА
Отчет
Бишкек 2020
Мой вариант: 7. Ромб с горизонтальной диагональю.
Код:
Stack1 segment
Db 256 dup(?)
Stack1 ends
Data segment
Data ends
code segment
Start: Assume ss:stack1, cs:code, ds:data
Mov ax,data
Mov ds,ax
Mov ah,00h
Mov al,13h
Int 10h
Mov ah,0ch
Mov bx,0
Mov al,3
xcoord macro x,y,l ; Горизонталь
local M1
mov dx,y
mov cx,x
M1:add cx,1
int 10h
cmp cx,l
jne M1
endm
diag1 macro x,y,l ;Левый верхний
local M2
mov dx,y
mov cx,x
M2:sub dx,2
add cx,1
int 10h
cmp dx,l
jne M2
endm
diag2 macro x,y,l ;Правый верхний
local M2
mov dx,y
mov cx,x
M2:add dx,2
add cx,1
int 10h
cmp dx,l
jne M2
endm
diag3 macro x,y,l ;Правый нижний
local M2
mov dx,y
mov cx,x
M2:sub dx,2
add cx,1
int 10h
cmp dx,l
jne M2
endm
diag4 macro x,y,l ;Левый нижний
local M2
mov dx,y
mov cx,x
M2:add dx,2
add cx,1
int 10h
cmp dx,l
jne M2
endm
xcoord 50, 10, 80 ;Верхний горизонталь
xcoord 90, 90, 120 ;Средний горизонталь
xcoord 50, 170, 80 ;Нижний горизонталь
diag1 10, 90, 10 ;Левый верхний
diag2 50, 10, 90 ;Правый верхний
diag3 50,170, 90 ;Правый нижний
diag4 10, 90,170 ;Левый нижний
diag2 80, 10, 90 ;Правый правый верхний
diag3 80,170, 90 ;Правый правый нижний
mov ah,01h
int 21h ;Функция ожидания клавиш
mov ah,00h
mov al,0dh
int 10h
mov ah,0ch
mov al,4
int 10h
xcoord 50, 10, 80 ;Верхний горизонталь
xcoord 90, 90, 120 ;Средний горизонталь
xcoord 50, 170, 80 ;Нижний горизонталь
diag1 10, 90, 10 ;Левый верхний
diag2 50, 10, 90 ;Правый верхний
diag3 50,170, 90 ;Правый нижний
diag4 10, 90,170 ;Левый нижний
diag2 80, 10, 90 ;Правый правый верхний
diag3 80,170, 90 ;Правый правый нижний
Mov ah,10h
Int 16h
Mov ah,4ch
Int 21h
code ends
end Start
Фото результата: