Объявить массив из 10 целых чисел, поменять местами 5 элемент массива со значением переменной TWO=2 - Assembler

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

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

Никогда не сталкивался с ассемблером, но нужно сделать такое задание.Обьявить массив из 10 целых чисел . Поменять местами 5 эллемент массив со значением переменной TWO=2.Использовать режим непрямого адресирования с использованием регистра ВХ.

Решение задачи: «Объявить массив из 10 целых чисел, поменять местами 5 элемент массива со значением переменной TWO=2»

textual
Листинг программы
.model small
.data
arr db 10,11,12,13,14,15,16,17,18,19
two db 2
.stack 100h
.code
start:
mov ax,@data
mov ds,ax
lea bx,arr[5]
mov al,two
xchg al,[bx]
xchg al,two 
mov ax,4C00h
int 21h
end

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

.model small — указание на модель сегмента данных, в данном случае модель small, размер сегмента данных 16 бит .data — сегмент данных, в котором будут храниться переменные arr db 10,11,12,13,14,15,16,17,18,19 — объявление массива из 10 целых чисел, каждое число на отдельной строке two db 2 — объявление переменной TWO со значением 2 .stack 100h — указание на размер стека в 100 байт .code — сегмент кода start: — точка входа в программу mov ax,@data — перемещение сегмента данных в регистр AX mov ds,ax — установка сегмента данных в качестве текущего сегмента lea bx,arr[5] — получение адреса пятого элемента массива в регистре BX mov al,two — перемещение значения переменной TWO в регистр AL xchg al,[bx] — обмен значениями между регистром AL и ячейкой памяти по адресу из регистра BX xchg al,two — обмен значениями между регистром AL и переменной TWO mov ax,4C00h — вывод сообщения об успешном выполнении программы int 21h — вызов функции вывода сообщения

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

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