[МС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
равны, то цикл завершается и программа продолжает выполняться с помощью следующей инструкции после цикла.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д