Нарисовать изображение (прямоугольник) используя ASCII коды - Assembler
Формулировка задачи:
Написать программу, которая рисует прямоугольник, с помощью ASCII таблицы (ASCII код).
Решение задачи: «Нарисовать изображение (прямоугольник) используя ASCII коды»
textual
Листинг программы
.model small .386 .stack 100h .data .code start: mov ax,@data mov ds,ax mov ah,00h mov al,03h int 10h push 0B800h pop es mov di,350 mov ax,0209h mov cx,30 up: stosw loop up mov cx,10 right: stosw add di,158 loop right mov cx,30 down: stosw sub di,4 loop down mov cx,10 left: stosw sub di,162 loop left xor ah,ah int 16h mov ah,4Ch mov al,00h int 21h end start
Объяснение кода листинга программы
На языке ассемблера обычно переводят код, написанный на языке программирования. Ваш код похож на псевдокод, описанный в тексте «Операционная система. Задачи и функции», А. А. Агарков, 2013, ISBN 978-5-91976-048-8. Список действий:
- Устанавливаем сегмент данных в сегментный регистр ds.
- Передаём в качестве параметра функции int 10h значение al, при этом управляющая функция int 10h выводит на экран символ, код которого содержится в регистре al.
- Выводим на экран 30 символов, используя функцию stosw (заполнение кадра), до тех пор, пока не будет выполнено условие цикла up.
- Смещаем курсор вправо на 158 позиций (значение переменной di) и выводим на экран 10 символов, используя функцию stosw, до тех пор, пока не будет выполнено условие цикла right.
- Смещаем курсор влево на 162 позиции (значение переменной di) и выводим на экран 10 символов, используя функцию stosw, до тех пор, пока не будет выполнено условие цикла left.
- Завершаем работу программы с помощью функции int 21h.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д