Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Помогите с лабораторной!!! Есть задачка, но опыта и времени нет 
:(
    Опции темы
Muxa
Дата 23.12.2003, 11:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Здравствуйте!!!

Помогите plz разобраться вот с этим:

Написать программу, выводящую в видеорежиме 320x200, 256 цветов на точку, весь набор ASCII символов (8 строк по 32 колонки), размер символов 8x8. Затем вывести курсор мыши (например в виде стрелки), если он попадет на один из выведенных символов, напечатать его увеличенным в 2 раза внизу набора ASCII символов.


Буду очень благодарен!

(форму благодарности можно обсудить по ICQ 158663713 )
PM MAIL   Вверх
Serzh
Дата 23.12.2003, 12:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



а где брать шрифт из файла или из биоза или текуший?

PM MAIL WWW ICQ   Вверх
Muxa
Дата 23.12.2003, 13:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(Serzh @ 23.12.2003, 12:48)
а где брать шрифт из файла или из биоза или текуший?

Думаю, можно текущий. Самое главное чтоб он был 8*8.
PM MAIL   Вверх
Muxa
Дата 23.12.2003, 16:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Что никто не знает как это делается? Уверен, что многие бы сделали это достаточно быстро и без особых проблем.
Гарантирую вознаграждение!!! Стукнитесь ко мне в аську (158663713) обсудим условия.
PM MAIL   Вверх
p0s0l
Дата 23.12.2003, 18:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Г-н Посол
****


Профиль
Группа: Экс. модератор
Сообщений: 3668
Регистрация: 13.7.2003
Где: 58°38' с.ш. 4 9°41' в.д.

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



Вот, может сойдёт такое:
Код
.model tiny
.286
.code

main proc far

push ds
push 0

mov ax, 13h
int 10h; переход в граф. режим

; вывод ASCII-таблицы
mov ax, 0900h
xor dx, dx
Print:  push ax
mov cx, 01h
mov bl, dl
add bl, dh
or bl, 20h
int 10h; вывод символа

inc dl
cmp dl, 32
jb NextPrint
add dx, 256-32
NextPrint:
mov ah, 02h
int 10h; установка позиции курсора
pop ax
inc al
jnz Print

mov ax, 01h
int 33h; показать курсор мыши

mov ax, 0A000h
mov es, ax; ds и es = сегмент видеопамяти
mov ds, ax

MainLoop:
mov ax, 02h; скрыть мышь
int 33h

mov ax, 03h; узнать позицию мыши
int 33h; возвращает: CX = x*2, DX = y

; перевод координаты в адрес в видеопамяти
shr cx, 1
and cl, 0F8h
and dl, 0F8h
imul si, dx, 320
add si, cx

; увеличение символа в 2 раза
mov dl, 8
mov di, 320*9*8
ZoomY: mov cx, 8
ZoomX: lodsb
mov ah, al
mov [di+320], ax
stosw
loop ZoomX
add si, 320 - 8
add di, 320*2 - 16
dec dl
jnz ZoomY

mov ax, 01h; показать мышь
int 33h

; синхронизация, чтобы курсор не дрожал
mov dx, 03DAh
BVSyn1: in al, dx
test al, 08h
jnz BVSyn1
BVSyn2: in al, dx
test al, 08h
jz BVSyn2

; проверка: нажата ли любая клавиша ?
mov ah, 1
int 16h
jz MainLoop

ret

main endp

end main



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

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

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


 




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


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

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