Папиллярные узоры пальцев рук - маркер спортивных способностей: дерматоглифические признаки формируются на 3-5 месяце беременности, не изменяются в течение жизни...
Кормораздатчик мобильный электрифицированный: схема и процесс работы устройства...
Топ:
Определение места расположения распределительного центра: Фирма реализует продукцию на рынках сбыта и имеет постоянных поставщиков в разных регионах. Увеличение объема продаж...
Характеристика АТП и сварочно-жестяницкого участка: Транспорт в настоящее время является одной из важнейших отраслей народного хозяйства...
Интересное:
Уполаживание и террасирование склонов: Если глубина оврага более 5 м необходимо устройство берм. Варианты использования оврагов для градостроительных целей...
Распространение рака на другие отдаленные от желудка органы: Характерных симптомов рака желудка не существует. Выраженные симптомы появляются, когда опухоль...
Искусственное повышение поверхности территории: Варианты искусственного повышения поверхности территории необходимо выбирать на основе анализа следующих характеристик защищаемой территории...
Дисциплины:
2023-02-03 | 24 |
5.00
из
|
Заказать работу |
|
|
Обмен данными
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 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!