Вывести строку символов по указанным координатам в консоли, очертить строку на экране одинарной рамкой - 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
Объяснение кода листинга программы
- Устанавливаются сегменты данных и стека.
- Выводится строка 'iloveasm!' с помощью функции BIOS int 10h.
- Начинается цикл по выводу символов строки с использованием функции BIOS int 10h.
- Выполняется прокрутка строки на экране одинарной рамкой с использованием функции BIOS int 10h.
- Устанавливаются начальные координаты для вывода символов рамки.
- Выполняется вывод символов рамки с использованием функции BIOS int 10h.
- Устанавливаются начальные координаты для вывода символов рамки.
- Выполняется вывод символов рамки с использованием функции BIOS int 10h.
- Устанавливаются начальные координаты для вывода символов рамки.
- Выполняется вывод символов рамки с использованием функции BIOS int 10h.
- Завершается выполнение программы с помощью функции BIOS int 21h.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д