Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Нуждаюсь в помощи 
:(
    Опции темы
Pavlik
Дата 6.1.2004, 19:57 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Задачку поставили: на MASM сделать библиотеку
и закодировать в нее какой либо символ графический 8х8, или 8х16.
А потом подключить библиотеку к программе .СОМ (под DOS) и
вывести этот символ из библиотеки на дисплей в графическом режиме.
Кому не трудно - помогите, плиз с листингом.
  Вверх
oleg1973
Дата 6.1.2004, 20:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


asm fanat
****


Профиль
Группа: Экс. модератор
Сообщений: 3283
Регистрация: 16.7.2003
Где: Italy

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



Pavlik
вроде ты уже спрашивал про это?
тут непонятки
1) что есть закодировать символ в библиотеке?
2) библиотека в ДОС довольнотаки размазаное определение
3) вывод символа через биос/дос или самому процедуру писать попиксельного вывода?


--------------------
SST 465555
icq 200-512-712
PM MAIL WWW ICQ   Вверх
Pavlik
Дата 6.1.2004, 20:16 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Идея была такая:

это библиотека

.MODEL small
.CODE
org 0
PUBLIC symbol
start:
addrsym PROC FAR
db вот тут хотел запрограммить символ, но не пошло

Symbol ENDP
END START

буду благодарен за помощь
  Вверх
Pavlik
Дата 6.1.2004, 20:46 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











пытался сделать попиксельный вывод

Pix proc ; вывод пиксела

push dx
push es
push di
push si
push ax
mov ax, 0A000h
mov es,ax
mov ax, 320
mul di
add si, ax
pop ax
mov byte ptr es:[si], al ; pop si
pop di
pop es
pop dx
ret
Pix endp


Out proc ; вывод на экран символа
push dx
push cx
push si
push bx
push di

mov ch,16
@@M1: mov cl,8
push si
mov dl,[bx]
@@M2: shl dl,1
jnc @@M3
call Pix
@@M3: inc si
dec cl
jnz @@M2
inc di
pop si
inc bx
dec ch
jnz @@M1
pop di
pop bx
pop si
pop cx
pop dx

ret
Out endp


я этот способ где-то в инете нашел, но не получилось все свести
в итоговый листинг - опыта маловато
  Вверх
oleg1973
Дата 6.1.2004, 21:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


asm fanat
****


Профиль
Группа: Экс. модератор
Сообщений: 3283
Регистрация: 16.7.2003
Где: Italy

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



ну не знаю почему у тебя там не удалось "запрограмить" символ (может кавычки забыл?)
насчет способа:
все рабочее вроде на первый взгляд
единственная проблема что сдесь mov dl,[bx]
в BX должен находится указатель на буковку , но не на ascii ее представлении а на шрифтик 8*16
у тебя 2 варианта
либо свой шрифтик использовать липо системный


--------------------
SST 465555
icq 200-512-712
PM MAIL WWW ICQ   Вверх
Pavlik
Дата 6.1.2004, 21:16 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











В том то и дело, что сгенерировать свой шрифтик,
я пытался вот так в библиотеке

db 000h,000h,0C6h,0C6h и т.д. но запутался
должена была звездочка получиться.

Если я не совсем уже достал со своей фигней, может
поможешь сделать рабочий вариант wink.gif ?


  Вверх
oleg1973
Дата 6.1.2004, 21:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


asm fanat
****


Профиль
Группа: Экс. модератор
Сообщений: 3283
Регистрация: 16.7.2003
Где: Italy

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



а так пробовал?
db 01111110b
db 01000010b
db 01000010b
db 01000010b
db 01000010b
db 01111110b
db 01000010b
db 01000010b

8*8 буковка А

Это сообщение отредактировал(а) oleg1973 - 6.1.2004, 21:25


--------------------
SST 465555
icq 200-512-712
PM MAIL WWW ICQ   Вверх
Pavlik
Дата 6.1.2004, 21:50 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











biggrin.gif Получилось! До меня дошло!

С П А С И Б О !!!
С наступающим Рождеством!



  Вверх
oleg1973
Дата 6.1.2004, 22:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


asm fanat
****


Профиль
Группа: Экс. модератор
Сообщений: 3283
Регистрация: 16.7.2003
Где: Italy

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



с тебя пол литра smile.gif))))))))


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

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

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


 




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


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

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