Пересылка элементов из одного массива в другой - Assembler

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

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

Задание: Написать программу пересылки массива байтов длиною 256 элементов к другому массиву такой же длины, используя все возможные режимы адресации.

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

textual
Листинг программы
  1. ; FASM code
  2. ; Описываем макросы ==========================
  3. macro Printf [text]
  4. { mov  ah,9
  5.   mov  dx,text
  6.   int  21h  }
  7.  
  8. macro Exit
  9. { xor  ax,ax
  10.   int  16h
  11.   int  20h  }
  12.  
  13. ;=== НАЧАЛО КОДА =============================
  14. org  100h
  15. jmp  start
  16.  
  17. mess0  db  'Hello World!$'
  18.  
  19. start:
  20.      Printf  mess0     ; зовём макросы
  21.      Exit

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

  1. Описываем макросы В данном блоке кода описываются два макроса: Printf и Exit.
    • Printf используется для вывода текста на экран. Он перемещает значение регистра ah в буфер вывода, затем перемещает значение регистра dx в этот же буфер. Затем происходит интеркаляция с помощью int 21h, что выводит содержимое буфера на экран.
    • Exit используется для завершения программы. Он перемещает значение регистра ax в ноль, затем происходит интеркаляция с помощью int 16h, что перенаправляет выполнение в BIOS, и int 20h, что завершает работу компьютера.
  2. org 100h Устанавливает точку входа в программу на 100h.
  3. jmp start Происходит переход к метке start, где начинается выполнение программы.
  4. Printf mess0 Вызывается макрос Printf с аргументом mess0, который содержит строку Hello World!$.
  5. Exit Вызывается макрос Exit, который завершает работу программы.

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


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

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

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

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

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

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