Вывод символов строки в хаотичном порядке. - Assembler

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

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

Всем доброго времени суток. Нужна помощь, в решение задачи по Assembler: Нужно сделать так, чтобы выводилась символы строки в хаотическом порядке (в разных столбцах и разных строчках)

Решение задачи: «Вывод символов строки в хаотичном порядке.»

textual
Листинг программы
org  256
jmp  start
mes  db   'String: $'
start:
     mov   ax,3
     int   16
     push  47104
     pop   es
     mov   ah,9
     mov   dx,mes
     int   33
@@1: xor   ax,ax
     int   22
     cmp   al,13
     je    @@3
     mov   di,ax
     shr   di,2
     test  di,1
     jz    @@2
     dec   di
@@2: mov   ah,14
     stosw
     jmp   @@1
@@3: ret

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

  1. Организация начала работы: код начинается с метки org 256, которая указывает на то, что сегмент данных должен быть 256 байт. Далее следует команда jmp start, которая перенаправляет выполнение программы на метку start.
  2. Вывод строки: команда mov ax,3 задает значение 3 для регистра ax. Затем происходит переход в сегмент 16 с помощью команды int 16, что приводит к выводу значения регистра ax в кодировке 16-бит на 16-й порт ввода-вывода. После этого происходит запись в буфер строки символа '$' с помощью команды mov dx,mes. Далее команда int 33 выводит символ из буфера на экран.
  3. Цикл вывода символов: цикл начинается с метки @@1. Регулярное выражение xor ax,ax устанавливает начальное значение регистра ax равным 0. Затем происходит переход на метку @@3, если значение в регистре al больше или равно 13. Если это не так, то происходит перезапись значения регистра di значением регистра ax. Затем регистр di делится на 2 с помощью команды shr di,2, и проверяется, является ли старший бит равным 1 с помощью команды test di,1. Если это так, то значение регистра di уменьшается на 1 с помощью команды dec di.
  4. Регистры и переменные: регистр ax используется как счетчик, а регистр di используется для хранения индекса текущего символа в строке. Буфер строки mes используется для хранения строки символов, которую необходимо вывести.

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


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

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

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