Поиск:

Ответ в темуСоздание новой темы Создание опроса
> вывод на asm 
:(
    Опции темы
crazysun
Дата 10.9.2005, 10:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



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

PM MAIL   Вверх
monax
Дата 11.9.2005, 00:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Прямой вывод в видеопамять. В режиме 3h (текстовый) это начиная с 0B800h.
--------------------
Лаборатория программиста
PM MAIL WWW ICQ Jabber   Вверх
Snowy
Дата 12.9.2005, 11:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

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



В консоли? Или GUI?
DOS? Windows? Linux?
В чем проблемы?
Не известно как выводить надпись в нужном месте или как именно вывести по диагонали и т.п.?
PM MAIL   Вверх
crazysun
Дата 13.9.2005, 15:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Консоль ... Dos ...
Как вывести надпись в нужном месте ?
PM MAIL   Вверх
monax
Дата 13.9.2005, 17:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Код

code segment
assume cs:code, ds:code
org 100h
start:
mov ah,2h
mov bh,0 ;номер страницы
mov dl,9 ;номер колонки
mov dh,9 ;номер строки
int 10h

mov ah,9h
lea dx,msg
int 21h

xor ah,ah
int 16h
mov ax,4c00h
int 21h

msg db 'message$'
code ends
end start

--------------------
Лаборатория программиста
PM MAIL WWW ICQ Jabber   Вверх
Snowy
Дата 13.9.2005, 23:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

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



Вот, когда-то писал код для TASM 5.
Вариант с выводом в видеопамять.
Код

; Вывод надписи в любой позиции экрана в текстовом режиме (80xN)
; Вход:      ds:dx - Исходная строка ASCIIZ
;            ah=x, al=y
;          * Color=byte (необязательный параметр)
; size 50 bytes
WriteXY PROC
             push       es
             push       si
             push       di
             push       cx
             push       ax
             mov        cl,ah
             xor        ah,ah
             mov        ch,0Ah
             mul        ch
             add        ax,0B800h
             mov        es,ax
             mov        si,dx
             xor        ch,ch
    _TS1:
             mov        di,cx
             shl        di,1
             mov        al,byte ptr ds:[si]
             cmp        al,0
             jz         _TE1
             mov        ah,Color
             mov        word ptr es:[di],ax
             inc        cx ; для горизонтали
             ; add        cx,50h ; для вертикали
             ; для диагонали нужны обе строки
             inc        si
             jmp        short _TS1
Color        db         7          ; Color Data
    _TE1:
             pop        ax
             pop        cx
             pop        di
             pop        si
             pop        es
             ret
WriteXY      ENDP

P.S. Просьба не смеяться над кодом, если что не так. Когда я это писал, книг по асму не было, инета тем более - даже про фидо только слышали. Так что сам придумывал...

Это сообщение отредактировал(а) Snowy - 13.9.2005, 23:42
PM MAIL   Вверх
crazysun
Дата 20.9.2005, 00:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



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

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

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


 




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


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

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