Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Помогите написать программу плиз 
:(
    Опции темы
tub0rg
Дата 23.1.2010, 11:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 23.1.2010

Репутация: нет
Всего: нет



Нужно написать программу вывода на экран диагонали (0,0-319,199) из пикселей прямой записью в видеопамять (графический режим, 13H mode)  Использовать в лабораторной макрос (sin.asm) для установки режима. 
PM MAIL   Вверх
Mikl_
Дата 23.1.2010, 12:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 537
Регистрация: 9.11.2007

Репутация: 6
Всего: 14



tub0rg, 
Здесь не конкурс экстрасенсов -- если ты пишешь "Использовать в лабораторной макрос (sin.asm) для установки режима" то должен привести этот макрос для ознакомления желающих. Теперь о деле: 13h режим это 320х200 точек, а это значит для проведения диагонали необходимо на каждые 8 точек влево смещаться на 5 точек вниз (320/200=8/5) так как 8 на 5 нацело не делится то выводим на экран 2 точки смещаемся вниз выводим точку, опять две, снова одну и опять две итого вывели восемь точек и сместились на пять точек вниз
 такую операцию мы проведем сорок раз (320/8=40) smile 
Код
.model tiny
.286
.code
start:    mov ah,0Fh;запомнить текущий видеорежим
    int 10h
    mov videord,al
    mov ax,13h; установить режим 320х200х256
    int 10h
    push 0A000h; делаем запись в графическую видеопаямять
    pop es
    xor di,di; начнем с верхней левой точки
    mov ax,202h; будем выводить точки зеленого цвета
    mov cx,40; 40 раз
a1:    stosw; вывели две точки
    add di,320; сместились на одну линию вниз и на две точки вправо
    stosb;вывели одну точку
    add di,320; сместились на одну линию вниз и на одну точку вправо
    stosw
    add di,320
    stosb
    add di,320
    stosw
    add di,320
    loop a1; повторяем цикл
    mov ah,0; ждем пока не нажмут любую клавишу
    int 16h
    mov ax,word ptr videord; восстанавливаем тот видеорежим который был до запуска программы
    int 10h
    int 20h; выходим из программы
videord db 0,0
end start

PM MAIL   Вверх
tub0rg
Дата 24.1.2010, 09:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 23.1.2010

Репутация: нет
Всего: нет



Спасибо дорый человек!!!!)))Безумно благодарен тебе. Если бы у меня был sin.asm я бы его выложил, просто у самого отсутсвует данный макрос.
PM MAIL   Вверх
tub0rg
Дата 28.1.2010, 07:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 23.1.2010

Репутация: нет
Всего: нет



Объясните пожалуйста что именно обозначает оператор stosb и stosw?
PM MAIL   Вверх
Mikl_
Дата 28.1.2010, 10:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 537
Регистрация: 9.11.2007

Репутация: 6
Всего: 14



tub0rg, 
а в учебник заглянуть? smile 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Asm: Общие вопросы"
MAKCim
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой КОД.
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim.

 
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Asm: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0406 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.