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

Типы сооружений для обработки осадков: Септиками называются сооружения, в которых одновременно происходят осветление сточной жидкости...

Археология об основании Рима: Новые раскопки проясняют и такой острый дискуссионный вопрос, как дата самого возникновения Рима...

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

2023-02-03 25
Результат Глава 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 он слишком быстро меняется на желтый. В итоге пурпурный не заметен глазу.

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

 


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

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

Индивидуальные очистные сооружения: К классу индивидуальных очистных сооружений относят сооружения, пропускная способность которых...

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

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



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

0.006 с.