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

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

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

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

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

textual
Листинг программы
; FASM code
; Описываем макросы ==========================
macro Printf [text]
{ mov  ah,9
  mov  dx,text
  int  21h  }
 
macro Exit
{ xor  ax,ax
  int  16h
  int  20h  }
 
;=== НАЧАЛО КОДА =============================
org  100h
jmp  start
 
mess0  db  'Hello World!$'
 
start:
     Printf  mess0     ; зовём макросы
     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
Похожие ответы