Результат Глава 1. Режимы адресации — КиберПедия 

Папиллярные узоры пальцев рук - маркер спортивных способностей: дерматоглифические признаки формируются на 3-5 месяце беременности, не изменяются в течение жизни...

Кормораздатчик мобильный электрифицированный: схема и процесс работы устройства...

Результат Глава 1. Режимы адресации

2023-02-03 24
Результат Глава 1. Режимы адресации 0.00 из 5.00 0 оценок
Заказать работу

 

Обмен данными

6510 не может копировать данные напрямую из одной области памяти в другую. Он должен проходить через один из регистров микропроцессора (A, X или Y).

Следовательно, чтобы скопировать один байт из одной ячейки памяти в другую, мы могли бы использовать «LDA» для копирования из ячейки памяти в аккумулятор, а затем «STA» для копирования из аккумулятора в другую ячейку памяти. Значение в ячейке памяти, из которой выполняется копирование, остается неизменным.

Аналогичные инструкции существуют для копирования через регистр X («LDX», «STX») и регистр Y («LDY», «STY»).

Также один байт может быть скопирован между регистрами микропроцессора с помощью инструкций передачи («TAX», «TXA», «TAY», «TYA»). Обратите внимание, что должен быть задействован аккумулятор, следовательно, передача данных между регистрами X и Y невозможна.

Переключитесь на файл Data Transfer.asm.

Data Transfer.asm

#region Main

           LDA #Purple  ; load A with 4
           STA EXTCOL   ; store A to $D020
           LDX #Green   ; load X with 5
           STX BGCOL0  ; store X to $D021
           LDY #Yellow   ; load Y with 7
           STY EXTCOL    ; store Y to $D020
           TAX                 ; copy A to X
           TYA                   ; copy Y to A
           TXA                   ; copy X to A
          
TAY                   ; copy A to Y
           RTS                    ; return to BASIC

#endregion

 

• Выберите Debugger-> Debug Program (или F8), чтобы скомпилировать программу в машинный код и открыть инструмент отладчика.

• Выберите Registers->Set и измените значение программного счетчика (Program Counter) с $ 0801 на $ 080D.

 

 

• Выберите Debug-> Step Program, и значение регистра AC изменится на 04. Константа Purple была скопирована в аккумулятор.

• Выберите Memory-> View…, чтобы открыть окно памяти и установить адрес $ D020.

• Выберите Debug-> Step Program, и значение памяти в $ D020 изменится на 04.

Одиночный байт был успешно скопирован из постоянного значения в ячейку памяти $ D020 через регистр накопителя (цвет границы был изменен на фиолетовый - purple).


 

• Выберите Debug-> Step Program, и значение регистра XR изменится на 05. Константа Green была скопирована в регистр X.

• Измените адрес в окне средства просмотра памяти на $ D021.

• Выберите Debug-> Step Program, и значение памяти в $ D021 изменится на 05.

Один байт был успешно скопирован из постоянного значения в ячейку памяти $ D021 через регистр X (цвет фона был изменен на зеленый).


 

• Выберите Debug-> Step Program, и значение регистра YR изменится на 07. Константа Yellow была скопирована в регистр Y.

• Измените адрес в окне средства просмотра памяти обратно на $ D020. (Вы также могли оставить программу просмотра памяти, начиная с $ D020 для всего этого раздела, поскольку $ D021 отображается как второй байт).

• Выберите Debug-> Step Program, и значение памяти в $ D020 изменится на 07.

Один байт был успешно скопирован из постоянного значения в ячейку памяти $ D020 через регистр Y (цвет границы был изменен на желтый).


 

• Выберите Debug-> Step Program, и значение 04 копируется из регистра AC в регистр XR.

• Выберите Debug-> Step Program, и значение 07 копируется из регистра YR в регистр AC.

• Выберите Debug-> Step Program, и значение 04 копируется из регистра XR в регистр AC.

• Выберите Debug-> Step Program, и значение 04 копируется из регистра AC в регистр YR.

• Закройте отладчик и выберите Build-> Program-> And Run (или F5) для запуска в эмуляторе VICE.

Хотя вы можете видеть, что цвет границы изначально установлен на пурпурный в отладчике, при работе в эмуляторе VICE он слишком быстро меняется на желтый. В итоге пурпурный не заметен глазу.

Попробуйте изменить порядок инструкций для получения разных результатов.

 


Поделиться с друзьями:

Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов (88‰)...

Опора деревянной одностоечной и способы укрепление угловых опор: Опоры ВЛ - конструкции, предназначен­ные для поддерживания проводов на необходимой высоте над землей, водой...

Состав сооружений: решетки и песколовки: Решетки – это первое устройство в схеме очистных сооружений. Они представляют...

Индивидуальные и групповые автопоилки: для животных. Схемы и конструкции...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.009 с.