Разработка программы рисования линий с помощью мыши
РТРТРХРФРХРЭРРХ
ВВВВВВВа РЬР
РЬСЛСИСМ вАУ СГСБСВСАР
1 РЮРРйРРЩ РЧРФРХРЫ
РгСБСВСАР
ВРЁРРё РР
РР
ВВВВВВВа
2 РЮРЯРбЭРРХ РгРбРвРРЮРРбРвРТРР
2.1 РЮРЯРбЭРРХ РЬРРЁР
ВВВВВВВа РЯР
РЬСЛСИСМ СБР
ВВВВВВВа РбР
ВВВВВВВа РЭР СВСАСГРРР
2.2 РЯРРЮРУРЬРЬЭп РЬРЮРФРХРРм РЬРРЁР
ВВВВа РТСБР Р
INT33е = Oh, РСБРРё РСАР
РРе = СЗРёСБРР
2
РёРРё Oh <- РР
Р
3
<- СВСАРё
- РСАСГРР
INT33INT33РФСАР
INT33РРёСВ 0. РР
РРёСВ 1: РР
РРёСВ 2: РР
Ре-Р
Р
Y<-Р
Р
РТР
РТ РР
INT 33ES:DX = Р
РРёСВ 0: РСОРР
РРёСВ 1: РР
РРёСВ 2:
Р
РРёСВ 3: РР
РРёСВ 4:
Р
РРёСВ 5: РР
РРёСВ 6: Р
РЮРСАР
РдСГРР
СЖРё СП
Рб
3 РЧРСРРвРЪРР ЫРУРЮРРвРЬРР РгРЯРТРЫРХРЭРп РЬРРЁРмРо
ВВВВВВВа РбСЕРР
ВВВВВВВа РЮРСАР
4 РЧРСРРвРЪРРРРХЫРЧжРп РЯРРЮРУРЬРЬРЭРЮРУРЮ РЮРСРРбРЯРРзРХРЭРп
ВВВВВа РФР СП САР
ВВВВВа РСБСЕР
ВВВВВа РСРР
ВВВВВВВВВВВВВВВВВВВВВВВВВВВВВВВВВВВВВВВВВВВВВВВа
5 РРвРЫФРЪРРРбРЯРвЭРРХ РЯРРЮРУРЬРРл
ВВВВВВВа РЯРСАРР РР
ВВВВВВВа РТ Р
РЧЪРРоРзРХРЭРРХ
ВВВВВВВа РТ Р
РЫРвРРавРгРРР
1. ВВВВВВВа РРСМ РЯ. Рё Р
2. РР. РЦСГР
Р
3.
РРСАСЕРёСВРР
СВСГСАР
4.
РТ.
РоСАР
5.
РТ.
РоСАР
6.
РСАР
РёР,
РЪРёР
7. РСБР
РЯСАРёРР
; mousedr.asm
; РРёСБСГРСВ РР
ВВВВВВВа.modelВВВВВВа
ВВВВВВВа.code
start:
ВВВВВВВа
ВВВВВВВа
РёРРР
ВВВВВВВа ВВВВВВВа
ВВВВВВВа ВВВВВВВа
ВВВВВВВа ВВВВВВВа ВВВВВВВа ВВВВВВВа
ВВВВВВВа ВВВВВВВа
ВВВВВВВа
ВВВВВВВа ВВВВВВВа
ВВВВВВВа
СБСВР
ВВВВВВВа
ВВВВВВВа retВВВВВВВВВВВВВВВВВВВВВВа ;
Р
Р
; РЮРСАР
; Р
; СВРР
СГСЙРР№
handler:
ВВВВВВВа
ВВВВВВВа
СП СВРё
ВВВВВВВа
ВВВВВВВа
ВВВВВВВа
ВВВВВВВа
СП Р
Р
Р
ВВВВВВВа ВВВВВВВа
ВВВВВВВа ВВВВВВВа
ВВВВВВВа exit<_
ВВВВВВВа
ВВВВВВВа
ВВВВВВВа
ВВВВВВВа
ВВВВВВВа ВВВВВВВа
ВВВВВВВа retfВВВВВВВВВВВВВВВВВВВВВа ;
Р
СЛСЕР
first_point:
ВВВВВВВа
ВВВВВВВа
; РЯСАР
; РТР
Р
; previous_X,previous_Y - X, Y РР
Ва
line_bresenham:
ВВВВВВВа
ВВВВВВВа ВВВВВВВа ВВВВВВВа ВВВВВВВа
Р
ВВВВВВВа dx<_СП
dx<_
ВВВВВВВа ВВВВВВВа ВВВВВВВа ВВВВВВВа
Р
ВВВВВВВа dy_pos:ВВВВа dy_neg:
ВВВВВВВа
Р
ВВВВВВВа
ВВВВВВВа СП Р
; CX,DX Р
previous_X,previous_Y
ВВВВВВВа ВВВВВВВа
ВВВВВВВа
Р
ВВВВВВВа ВВВВВВВа ВВВВВВВа
cycle:
ВВВВВВВа ВВВВВВВа ВВВВВВВа
ВВВВВВВа
ВВВВВВВа ВВВВВВВа fractlt0:
ВВВВВВВа ВВВВВВВа
РРРёСЗРёСВСМ DI РР
ВВВВВВВа
ВВВВВВВа
dx_le_dy:ВВВВВВВВВВВВВВВВВВВВа ; РСБРРё Р
ВВВВВВВа
ВВВВВВВа
ВВВВВВВа ВВВВВВВа
cycle2:
ВВВВВВВа ВВВВВВВа ВВВВВВВа
ВВВВВВВа
ВВВВВВВа ВВВВВВВа fractlt02:
ВВВВВВВа ВВВВВВВа
РРРёСЗРёСВСМ DI РР
ВВВВВВВа
ВВВВВВВа
ВВВВВВВа
ВВВВВВВа ВВВВВВВа
cycle2:
ВВВВВВВа ВВВВВВВа ВВВВВВВа
ВВВВВВВа
ВВВВВВВа ВВВВВВВа fractlt02:
ВВВВВВВа ВВВВВВВа
РРРёСЗРёСВСМ DI РР
ВВВВВВВа СП Р
Р
ВВВВВВВа
ВВВВВВВа
ВВВВВВВа
ВВВВВВВа ; Р
; РР
ВВВВВВВа ВВВВВВВа AL
= РР
ВВВВВВВа ; СЗСВР
;
;
; РёРРё РСГСЗСИР
РёРРёСЖРёР
ВВВВВВВа
РСАРРР
ВВВВВВВа
ВВВВВВВа retВВВВВВВВВВВВВВВВВВВВВВа ;
Р
Р
previous_XВВВВВВВВа dwВВВа <-ВВВВа ; Р
previous_YВВВВВВВВа dwВВВа <-ВВВВа ; Р
Y_incrementВВВВВВа dwВВВа <-ВВВВа ; РР
X_incrementВВВВВВа dwВВВа <-ВВВВа ; РР
some_label:ВВВВВВВВВВВВВВВВВВВВВВВВВВа ; Р
; СБРРР
ВВВВВВВа
РЯСАРёРР
РЯРСАРР
РСОСЗРРРёР Р
РёРРР
|
РСРРР
-СБСЕРРР: