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

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

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

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

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

textual
Листинг программы
  1. .model small
  2. .8086
  3.  
  4. .data
  5. msg db 'iloveasm!'
  6. len equ $-msg
  7.  
  8. .stack
  9. db 255 dup(?)
  10.  
  11. .code
  12. start:
  13. mov ax,@data
  14. mov ds,ax
  15.  
  16. mov ah,00h
  17. mov al,03h
  18. int 10h
  19.  
  20. push 0B800h
  21. pop es
  22. mov di,500
  23.  
  24. mov ah,02h
  25. mov cx,len
  26. slowo:
  27. lodsb
  28. stosw
  29. loop slowo
  30.  
  31. mov ah,0FFh
  32.  
  33. mov di,336
  34. mov cx,len+3
  35. up:
  36. xor al,al
  37. stosw
  38. loop up
  39.  
  40. mov di,656
  41. mov cx,len+3
  42. down:
  43. xor al,al
  44. stosw
  45. loop down
  46.  
  47. mov di,360
  48. mov cx,3
  49. right:
  50. xor al,al
  51. stosw
  52.  
  53. add di,158
  54. loop right
  55.  
  56. left:
  57. mov di,496
  58. stosw
  59.  
  60. xor ah,ah
  61. int 16h
  62.  
  63. mov ah,4Ch
  64. mov al,00h
  65. int 21h
  66. 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

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

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

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