Заполнить массив из 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
Объяснение кода листинга программы
- Объявление сегментов для стека и данных
- Инициализация стека
- Инициализация массива source значениями 10, 20, 30, 40
- Инициализация массива dest значениями
?
,?
,?
,?
- Передача в функцию main сегментов данных и стека
- В функции main происходит следующее:
- Предварительное заполнение стека значениями 0
- Заполнение регистра AX значением 0
- Установка сегмента данных на значение, равное сегменту main
- Заполнение массива dest значениями из массива source
- Вызов функции ret, завершающей выполнение функции main
- Возврат в точку вызова функции main
- Выполнение команды ret, завершающей выполнение функции main
- Конец программы
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д