Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.06.2011, 15:00   #1
MISHAIL
Пользователь
 
Регистрация: 01.02.2011
Сообщений: 10
По умолчанию Ассемблер, рисование

Есть наброски проги на асме, при на жатии стрелки рисуется вертикальная линия, не могу сделать чтоб можно было рисовать и гориз линию.
.model tiny
.code
org 100h
begin:
mov AX,11h
int 10h

mov CX, 200 ;столбец, X
mov DX, 20 ;строка, Y
int 10h

key_loop:

mov ah,7 ;ждем символ с клавиатуры
int 21h
cmp al,27 ; Нажали Esc?
je quit ; Да, выход
test al,al ;проверка на 0-е начало
jnz key_loop ;если да, не выходим, а ждём другую клавишу
int 21h
cmp al,50h ;сравнение со стрелкой вниз
je key_down ;переход в обработчик
cmp al,48h ;сравнение со стрелкой вверх
je key_up ;переход в обработчик

draw:

MOV AH,0CH
MOV AL,3
int 10h
jmp key_loop

key_down:
inc dx
jmp draw
key_up:
dec dx
jmp draw

quit:
ret
end begin
MISHAIL вне форума Ответить с цитированием
Старый 05.06.2011, 15:41   #2
Ant1971on
Пользователь
 
Регистрация: 20.07.2010
Сообщений: 52
По умолчанию

Код:
.model tiny 
.code 
org 100h 
begin:
mov AX,11h 
int 10h 

mov CX, 200 ;столбец, X
mov DX, 20 ;строка, Y
int 10h 

key_loop:

mov ah,7 ;ждем символ с клавиатуры 
int 21h
cmp al,27 ; Нажали Esc?
je quit ; Да, выход
test al,al ;проверка на 0-е начало 
jnz key_loop ;если да, не выходим, а ждём другую клавишу
int 21h 
cmp al,50h ;сравнение со стрелкой вниз 
je key_down ;переход в обработчик 
cmp al,48h ;сравнение со стрелкой вверх 
je key_up ;переход в обработчик
cmp al,4bh
je key_l
cmp al,4dh
je key_r 

draw:

MOV AH,0CH
MOV AL,3
int 10h 
jmp key_loop

key_down: 
inc dx
jmp draw
key_up: 
dec dx
jmp draw
key_l:	dec cx
	jmp draw
key_r:	inc cx
	jmp draw		

quit:
ret
end begin
Ant1971on вне форума Ответить с цитированием
Старый 05.06.2011, 16:27   #3
MISHAIL
Пользователь
 
Регистрация: 01.02.2011
Сообщений: 10
По умолчанию

А как сделать чтоб можно было выбирать цвет линии??
MISHAIL вне форума Ответить с цитированием
Старый 05.06.2011, 17:17   #4
Ant1971on
Пользователь
 
Регистрация: 20.07.2010
Сообщений: 52
По умолчанию

Перед вызовом 0ch задавайте цвет в al. Только ваш режим(11h) двухцветный, используйте лучше 12h(16 цветов).

Последний раз редактировалось Ant1971on; 05.06.2011 в 17:19.
Ant1971on вне форума Ответить с цитированием
Старый 29.04.2013, 19:11   #5
Roalvi
Новичок
Джуниор
 
Регистрация: 29.04.2013
Сообщений: 1
По умолчанию

Подскажите пожалуйста, как сделать так, что-бы при нажатии клавиш(стрелок на клавиатуре) рисовалась точка? Т.е. нажал стрелочку вверх и поставилась точка, потом стрелочку вправо и от предыдущей точки уже следующая точка вправо.
Roalvi вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Рисование в C++ taralesh Помощь студентам 2 15.04.2011 01:11
Рисование Masip Общие вопросы Delphi 10 08.06.2010 22:16
Разработать прогу осуществляющую рисование линиями! Ассемблер sergik Помощь студентам 0 20.12.2009 15:32
Рисование TriCERATOP Помощь студентам 5 28.11.2008 15:09