Помогите с ассемблером
Скоро сессия! А у меня хвост...
Нужно написать прогу на асемблере в Turbo Debugger'е которая выводит текст в левом верхем углу, а потом по нажатию кнопки выстраивается в столбик. Помогите пожалуйста |
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 Вот нашел в интернете как просто вывести текст. А вот как его потом вывести в столбик? Есть тут кто знает ассемблер? |
По идее, вам нужно загружать в регистры видеопамяти не все символы сразу, а по 2 -каждый символ текста сопровождать символом конца строки и передавать последовательности в цикле до последнего символа.
После загрузки в регистр al текущего символа вам нужно инициализировать процесс перевода на новую строку. |
Часовой пояс GMT +4, время: 20:49. |
Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.