Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Помощь студентам


Ответ
 
Опции темы Опции просмотра
Старый 08.12.2010, 21:19   #1 (permalink)
Scam
Member
 
Аватар для Scam
 
Регистрация: 10.08.2009
Сообщений: 215
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 142
По умолчанию Помогите с ассемблером

Скоро сессия! А у меня хвост...
Нужно написать прогу на асемблере в Turbo Debugger'е которая выводит текст в левом верхем углу, а потом по нажатию кнопки выстраивается в столбик.
Помогите пожалуйста
Scam вне форума   Ответить с цитированием

Старый 08.12.2010, 21:19
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

По схожим топикам найдено следующее

Помогите, пожалуйста, с Ассемблером
Помогите с ассемблером!

Старый 08.12.2010, 23:17   #2 (permalink)
Scam
Member
 
Аватар для Scam
 
Регистрация: 10.08.2009
Сообщений: 215
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 142
По умолчанию

Ideal
p386
Model Small
DATASEG
nadpis db 'Eta nadpis',0
ENDS
CODESEG
Proc Main
;Инициализация сегмента данных
mov ax,DGROUP
mov DS,ax
;Вход в видеорежим
mov ax,3h
int 10h
;Инициализация регистров
mov ax,0B800h ;Начало видеопамяти для текстового режима
mov es,ax
mov si,offset nadpis
xor di,di ;Стандартный метод очистки регистра
;Атрибут текста - это цвет текста и цвет фона
;Атрибут занимает 1 байт
mov ah,0Ah ;Ярко-зелёный текст на чёрном фоне
Metka:
lodsb ;Загружаем в регистр al символ
or al,al ;Данная операция не меняет содержимого регистра, но устанавливает zf в 0, если al=0
jz Finish ;Если jz=0 (т.е. al=0), закончить печать
stosw ;Посылает слово ax (ah-атрибут, al-ASCII-код) в видеопамять
jmp Metka
Finish:
mov ax,4c00h
int 21h
Endp Main
ENDS
END Main


Вот нашел в интернете как просто вывести текст. А вот как его потом вывести в столбик? Есть тут кто знает ассемблер?
Scam вне форума   Ответить с цитированием
Старый 09.12.2010, 09:41   #3 (permalink)
AlexZir
support
 
Аватар для AlexZir
 
Регистрация: 19.08.2007
Адрес: Зея
Сообщений: 14,939
Записей в дневнике: 57
Сказал(а) спасибо: 135
Поблагодарили 164 раз(а) в 69 сообщениях
Репутация: 67284
По умолчанию

По идее, вам нужно загружать в регистры видеопамяти не все символы сразу, а по 2 -каждый символ текста сопровождать символом конца строки и передавать последовательности в цикле до последнего символа.

После загрузки в регистр al текущего символа вам нужно инициализировать процесс перевода на новую строку.
__________________
Убить всех человеков!
AlexZir вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 02:14.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.