[МС68HC11] Заполнить ячейки. Индексная адресация - Микроконтроллеры
Формулировка задачи:
Всем привет. Только начал изучение Ассемблера, поэтому требуется ваша помощь.
Контроллер МС68HC11.
"Необходимо написать программу, заполняющую ячейки $8200...$8205 значением $55, используя индексную адресацию."
Не используя индексную адресацию получается, а вот с индексной проблемы
Не индексная:
Заранее спасибо
Листинг программы
- org $8000
- a equ $55
- ldaa #a
- std $8200
- ldaa #a
- std $8201
- ldaa #a
- std $8202
- ldaa #a
- std $8203
- ldaa #a
- std $8204
- ldaa #a
- std $8205
Решение задачи: «[МС68HC11] Заполнить ячейки. Индексная адресация»
textual
Листинг программы
- ldx #$8200
- ldaa #$55
- loop: staa 0,x
- inx
- cpx #$8206
- bne loop
Объяснение кода листинга программы
- Устанавливается значение переменной x равное
$8200
. - Устанавливается значение переменной aa равное
$55
. - Запускается цикл, помеченный меткой
loop
. - Значение переменной aa записывается в ячейку памяти по адресу, на который указывает переменная x.
- Переменная x инкрементируется, чтобы указывать на следующую ячейку в памяти.
- Значение переменной x сравнивается с
$8206
, если они не равны, то происходит переход к меткеloop
и начинается следующая итерация цикла. - Если значения переменной x и
$8206
равны, то цикл завершается и программа продолжает выполняться с помощью следующей инструкции после цикла.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д