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

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

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

нужно записать массив из 10 элементов, записать полученный массив в другой массив из 10 элементов

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

textual
Листинг программы
stseg segment para stack "stack"
db 64 dup("stack")
stseg ends
 
dseg segment para public "data"
source db 10, 20, 30, 40
dest db 4 dup("?")
dseg ends
 
cseg segment para public "code"
main proc far
assume cs:cseg, ds:dseg, ss:stseg
;adress vozvrata
push ds
mov ax, 0
push ax
;inicializacia DS
mov ax, dseg
mov ds, ax
;obnulyaem massiv
mov dest, 0
mov dest+1, 0
mov dest+2, 0
mov dest+3, 0
;perepravlenie
mov al, source 
mov dest+3, al
mov al, source+1
mov dest+2, al
mov al, source+2
mov dest+1, al
mov al, source+3
mov dest, al
 
ret
main endp
cseg ends
end main

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

  1. Объявление сегментов для стека и данных
  2. Инициализация стека
  3. Инициализация массива source значениями 10, 20, 30, 40
  4. Инициализация массива dest значениями ?, ?, ?, ?
  5. Передача в функцию main сегментов данных и стека
  6. В функции main происходит следующее:
  7. Предварительное заполнение стека значениями 0
  8. Заполнение регистра AX значением 0
  9. Установка сегмента данных на значение, равное сегменту main
  10. Заполнение массива dest значениями из массива source
  11. Вызов функции ret, завершающей выполнение функции main
  12. Возврат в точку вызова функции main
  13. Выполнение команды ret, завершающей выполнение функции main
  14. Конец программы

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


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

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

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