Нарисовать изображение (прямоугольник) используя ASCII коды - Assembler

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

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

Написать программу, которая рисует прямоугольник, с помощью ASCII таблицы (ASCII код).

Решение задачи: «Нарисовать изображение (прямоугольник) используя ASCII коды»

textual
Листинг программы
  1. .model small
  2. .386
  3.  
  4. .stack 100h
  5.  
  6. .data
  7.  
  8. .code
  9. start:
  10. mov ax,@data
  11. mov ds,ax
  12.  
  13. mov ah,00h
  14. mov al,03h
  15. int 10h
  16.  
  17. push 0B800h
  18. pop es
  19. mov di,350
  20.  
  21. mov ax,0209h
  22.  
  23. mov cx,30
  24. up:
  25. stosw
  26. loop up
  27.  
  28. mov cx,10
  29. right:
  30. stosw
  31.  
  32. add di,158
  33. loop right
  34.  
  35. mov cx,30
  36. down:
  37. stosw
  38.  
  39. sub di,4
  40. loop down
  41.  
  42. mov cx,10
  43. left:
  44. stosw
  45.  
  46. sub di,162
  47. loop left
  48.  
  49. xor ah,ah
  50. int 16h
  51.  
  52. mov ah,4Ch
  53. mov al,00h
  54. int 21h
  55. end start

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

На языке ассемблера обычно переводят код, написанный на языке программирования. Ваш код похож на псевдокод, описанный в тексте «Операционная система. Задачи и функции», А. А. Агарков, 2013, ISBN 978-5-91976-048-8. Список действий:

  1. Устанавливаем сегмент данных в сегментный регистр ds.
  2. Передаём в качестве параметра функции int 10h значение al, при этом управляющая функция int 10h выводит на экран символ, код которого содержится в регистре al.
  3. Выводим на экран 30 символов, используя функцию stosw (заполнение кадра), до тех пор, пока не будет выполнено условие цикла up.
  4. Смещаем курсор вправо на 158 позиций (значение переменной di) и выводим на экран 10 символов, используя функцию stosw, до тех пор, пока не будет выполнено условие цикла right.
  5. Смещаем курсор влево на 162 позиции (значение переменной di) и выводим на экран 10 символов, используя функцию stosw, до тех пор, пока не будет выполнено условие цикла left.
  6. Завершаем работу программы с помощью функции int 21h.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

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

7   голосов , оценка 3.571 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы