|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
04.10.2010, 21:27 | #1 |
Форумчанин
Регистрация: 18.03.2009
Сообщений: 101
|
Нарисовать квадрат!
Надо нарисовать квадратик через режим 0A000H функцию 13h
Допустим, нам нужен квадрат 100х100. Регистр al отвечает за цвет, регистр bx за смещение. Код:
Явно есть какой-то способ всё сделать это в лучшем виде |
04.10.2010, 21:58 | #2 |
Форумчанин
Регистрация: 31.05.2009
Сообщений: 786
|
лучше подойдет команда stosb
Код:
|
04.10.2010, 22:07 | #3 |
Форумчанин
Регистрация: 18.03.2009
Сообщений: 101
|
эмм, а пояснить? откуда здесь di взялся и dx, что даёт stosb
|
05.10.2010, 04:01 | #4 | |
Участник клуба
Регистрация: 11.01.2010
Сообщений: 1,162
|
Цитата:
Код:
Последний раз редактировалось Mikl___; 05.10.2010 в 05:13. |
|
05.10.2010, 20:38 | #5 |
Форумчанин
Регистрация: 18.03.2009
Сообщений: 101
|
Cпасибо, только что же всё таки делает rep stosb (поконкретнее)?
|
05.10.2010, 23:41 | #6 |
Пользователь
Регистрация: 20.09.2010
Сообщений: 38
|
Что делает rep stosb?
stosb выгружает al по адресу es : di. После этого меняет значение di в зависимости от флага направления и размера операнда. В данном случае на di+1. rep - префикс повторения. Повторяет команду и уменьшает содержимое cx, пока он не станет равным 0. CX тут типа счетчика цикла. Как же вы программируете без справочника команд? |
07.10.2010, 20:16 | #7 |
Форумчанин
Регистрация: 18.03.2009
Сообщений: 101
|
Вот ещё вопросик задам, чтобы тему новую не начинать.
0A000h - это что за режим? Просто поточечно выводит через функции? Тогда 0B800h это прямое использование видеобуфера, и является более предпочтительным? |
07.10.2010, 21:49 | #8 | |
Пользователь
Регистрация: 20.09.2010
Сообщений: 38
|
Цитата:
В других режимах он может быть, как вы написали, 0B800H. Можете почитать про видеорежимы и видеофункции подробнее: http://www.xserver.ru/computer/computer/video/2/ |
|
08.10.2010, 04:45 | #9 |
Участник клуба
Регистрация: 11.01.2010
Сообщений: 1,162
|
SwiP
Программу тебе написали, по-моему, самое время сесть за учебник и самостоятельно узнать как это всё работает |
15.10.2010, 00:39 | #10 |
Форумчанин
Регистрация: 18.03.2009
Сообщений: 101
|
А почему не хочет работать с режимом 12h? (640x480x16). Просто тупо какие-то белые точки, или там по другому надо всё делать?
|
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Латинский квадрат | innaa639 | Помощь студентам | 1 | 22.11.2009 22:40 |
ХИ квадрат | Vito89 | Помощь студентам | 3 | 25.10.2009 16:35 |
Черный квадрат | Дініс | Свободное общение | 9 | 07.09.2009 21:43 |
нарисовать квадрат с длиной стороны 100 пикселей, используя процедуру linerel(x,y:integer) | Кася_ | Помощь студентам | 6 | 23.02.2009 19:13 |
Магический квадрат | Anarx | Паскаль, Turbo Pascal, PascalABC.NET | 2 | 18.12.2008 13:07 |