Форум программистов, компьютерный форум, киберфорум
Наши страницы
Assembler, MASM, TASM
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.89/9: Рейтинг темы: голосов - 9, средняя оценка - 4.89
антон5465
4 / 4 / 0
Регистрация: 22.03.2011
Сообщений: 53
1

Вывод линий в графическом режиме

18.04.2011, 07:10. Просмотров 1584. Ответов 2
Метки нет (Все метки)

Привет! У меня на программка точки выводила. Переделываю под линии. Надо чтобы первая линия была напр. желтая, вторая синяя, третья красная. Юзаю фасм. Взгляните =)
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
USE16
ORG 100h
 
main:
 
   MOV  AX,11h
   INT  10h     ;графический режим 640х480
 
   MOV  CX,0
   MOV  DX,0      ;начальные координаты точки
   INT  10h
 
mainloop:
 
   MOV  AH,7        ;ждем символ с клавиатуры
   INT  21h
 
   CMP  AL,27       ;...это Esc???
   JE   quit        ; Да - Выход!
 
   TEST AL,AL       ;проверка на 0-е начало
   JNZ mainloop    ;если да, не выходим, а ждём другую клавишу
 
   INT  21h
 
   CMP AL,4dh       ;сравнение со стрелкой вправо
   JE  key_right     ;переход в обработчик
 
 
   CMP AL,50h      ; goto new line
   JE key_next_line
 
draw:
 
 
   MOV AH,09h
   MOV  AL,0C4H        ;Горизонтальная линия
   MOV  BH,00          ;Страница 0
 
 
   MOV  BL,05H          ; Цвет линии. Почему не срабатывает?
 
   INT 10h
 
   JMP mainloop     ;продолжаем ждать символ
 
key_next_line:
 
   mov cx,0
   inc dx
 
   JMP draw      ; s
 
key_right:       ;обработчик клавиши DOWN
 
   INC CX       ;рисуем ещё точку
   JMP draw     ;
 
quit:           ;обработчик клавиши ESC
 
   INT 20H
Нажимая стрелку вправо, рисуется линия. Нажимая стрелку вниз, должен курсор на след. строку перейти и быть готовым рисовать линию другого цвета. Проблема в том что при нажатии на клавишу "Стрелка вниз" рисуется очень много линий. Почему так? Хелп!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.04.2011, 07:10
Ответы с готовыми решениями:

Вывод квадрата в графическом режиме
Ребят! Очень срочно! Нужно написать программу, которая будет выводить на экран...

Вывод текста в графическом режиме (tasm)
собственно весь вопрос: как выводить текст в графическом режиме

Вывод точки в графическом режиме (ассемблерная вставка в Паскаль)
Здравствуйте, подскажите пожалуйста как мне решить такую задачу: программу...

Нарисовать пирамиду в графическом режиме
Нарисовать с помощью графического режима пирамиду :) Используя tasm. заранее...

Не выводится точка в графическом режиме
masm .model small .stack 256 .code start: mov ah, 0 mov dl, 10 int...

2
Vadimych
635 / 478 / 12
Регистрация: 10.01.2011
Сообщений: 1,047
18.04.2011, 09:00 2
Вот так работает:
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
main:
 
   MOV  AX,12h
   INT  10h         ;графический режим 640х480
   MOV  BL,03H          ; Цвет линии. Почему не срабатывает?
   MOV  CX,1
   MOV  DX,0      ;начальные координаты точки
 
mainloop:
 
   MOV  AH,7        ;ждем символ с клавиатуры
   INT  21h
 
   CMP  AL,27       ;...это Esc???
   JE   quit        ; Да - Выход!
  
   CMP AL,4dh       ;сравнение со стрелкой вправо
   JE  key_right     ;переход в обработчик
 
 
   CMP AL,50h      ; goto new line
   JE key_next_line
   JMP mainloop    ;если да, не выходим, а ждём другую клавишу
 
draw:
 
 
   MOV  AH,09h
   MOV  AL,0C4H        ;Горизонтальная линия
   MOV  BH,00          ;Страница 0 
   INT 10h
 
   JMP mainloop     ;продолжаем ждать символ
 
key_next_line:
   MOV  CX,1
   inc dh
   inc bl
   mov ah,2
   int 10h           ; курсор на новую строку
   JMP draw          ; s
 
key_right:           ;обработчик клавиши DOWN
 
   INC CX           ;рисуем ещё точку
   JMP draw         ;
 
quit:               ;обработчик клавиши ESC
 
   INT 20H
1
антон5465
4 / 4 / 0
Регистрация: 22.03.2011
Сообщений: 53
18.04.2011, 20:09  [ТС] 3
Спасибо Вадимыч! Всё работает!
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.04.2011, 20:09

Увеличить размер шрифта в графическом режиме
Есть простая программа вывода строки на экран. Нужно увеличить размер шрифта,...

Какое максимальное количество видео страниц в графическом и в текстовом режиме?
Подскажите пожалуйста. Какое максимальное количество видео страниц в...

4. Напишите команды для чтения точки на 12-й строке и 13-м столбце в графическом режиме.
Напишите команды для чтения точки на 12-й строке и 13-м столбце в графическом...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru