Вывести строку символов по указанным координатам в консоли, очертить строку на экране одинарной рамкой - Assembler

Узнай цену своей работы

Формулировка задачи:

Вывести строку символов по указанным координатам, очертить строку на экране одинарной рамкой. Windows XP x32, TASM.

Решение задачи: «Вывести строку символов по указанным координатам в консоли, очертить строку на экране одинарной рамкой»

textual
Листинг программы
.model small
.8086
 
.data
msg db 'iloveasm!'
len equ $-msg
 
.stack 
db 255 dup(?)
 
.code
start:
mov ax,@data
mov ds,ax
 
mov ah,00h
mov al,03h
int 10h
 
push 0B800h
pop es
mov di,500
 
mov ah,02h
mov cx,len
slowo:
lodsb
stosw
loop slowo
 
mov ah,0FFh
 
mov di,336
mov cx,len+3
up:
xor al,al
stosw
loop up
 
mov di,656
mov cx,len+3
down:
xor al,al
stosw
loop down
 
mov di,360
mov cx,3
right:
xor al,al
stosw
 
add di,158
loop right
 
left:
mov di,496
stosw
 
xor ah,ah
int 16h
 
mov ah,4Ch
mov al,00h
int 21h
end start

Объяснение кода листинга программы

  1. Устанавливаются сегменты данных и стека.
  2. Выводится строка 'iloveasm!' с помощью функции BIOS int 10h.
  3. Начинается цикл по выводу символов строки с использованием функции BIOS int 10h.
  4. Выполняется прокрутка строки на экране одинарной рамкой с использованием функции BIOS int 10h.
  5. Устанавливаются начальные координаты для вывода символов рамки.
  6. Выполняется вывод символов рамки с использованием функции BIOS int 10h.
  7. Устанавливаются начальные координаты для вывода символов рамки.
  8. Выполняется вывод символов рамки с использованием функции BIOS int 10h.
  9. Устанавливаются начальные координаты для вывода символов рамки.
  10. Выполняется вывод символов рамки с использованием функции BIOS int 10h.
  11. Завершается выполнение программы с помощью функции BIOS int 21h.

Оцени полезность:

10   голосов , оценка 3.8 из 5
Похожие ответы