Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
11
Добавлен:
01.05.2014
Размер:
6.25 Кб
Скачать

Варианты вывода и центрирования строки:

1) Используя функции DOS:

dosseg

.model small

.stack 100h

.data

message db 'Вас приветствует ст.гр.3342 - Митягин С.А.$'

.code

mov ax, @data

mov ds,ax

mov ax, 0003h ; очищаем экран

int 10h

mov ah, 2

mov cx, 12

continue:

mov dl, 0Ah ;переходим на 12-ую строку

int 21h

loop continue

mov cx, 20

continue2:

mov dx, 20h ;смещаемся на 20 символов

int 21h

loop continue2

;в итоге выводим строку в позицию (20,12),

;используя функцию 9h прерывания 21h

mov dx, offset message

mov ah, 9

int 21h

mov ah, 1 ;"задержка"

int 21h

mov ah, 4ch ;выход

int 21h

end

2) Используя функции BIOS:

dosseg

.model small

.stack 100h

.data

message db 'Вас приветствует ст.гр.3342 - Митягин С.А.$'

.code

mov ax, @data

mov ds,ax

mov ax, 0003h ; очищаем экран

int 10h

mov ax, seg message

mov es, ax

mov bp, offset message

mov ah, 13h ; выводим строку, используя

mov al, 0 ; функцию 13h прерывания 10h

mov bl, 00000111b ; черный на белом

mov dh, 12 ; выводим сообщение на

mov dl, 20 ; в позицию (20,12)

mov cx, 41 ; длина строки

int 10h

mov ah, 1 ; "задержка"

int 21h

mov ah, 4ch ; выход

int 21h

end

3) Используя прямое отображение в видеобуфер:

dosseg

.model small

.stack 100h

.data

message db 'Вас приветствует ст.гр.3342 - Митягин С.А.$'

.code

mov ax, @data

mov ds,ax

mov ax, 0003h ;видеорежим 3 (очистка экрана)

int 10h

mov bl, 00001111b ;черный на белом

mov ax, 0B800h ;сегмент дисплея в текстовом режиме

mov es, ax

xor di, di

;пишем в видеопамять - по адресу es:[di]

mov ax, seg message

mov ds, ax

mov si, offset message

mov cx, 80*12+20

;строка находится по адресу ds:[si]

fill:

mov ax, 0f20h;

stosw ;заполнение видеопамяти пробелами до строки

loop fill

mov cx, 41 ;длина строки

continue: ;вывод строки

mov ax, [si]

stosb ;копировать первый байт

mov al, 00000111b

stosb ;затем его атрибут

inc si

loop continue

mov ah, 1 ;“задержка”

int 21h

mov ah, 4ch ;выход

int 21h

end

Соседние файлы в папке Лабораторная работа №12