Общие условия выбора системы дренажа: Система дренажа выбирается в зависимости от характера защищаемого...
Историки об Елизавете Петровне: Елизавета попала между двумя встречными культурными течениями, воспитывалась среди новых европейских веяний и преданий...
Топ:
Комплексной системы оценки состояния охраны труда на производственном объекте (КСОТ-П): Цели и задачи Комплексной системы оценки состояния охраны труда и определению факторов рисков по охране труда...
Характеристика АТП и сварочно-жестяницкого участка: Транспорт в настоящее время является одной из важнейших отраслей народного...
Особенности труда и отдыха в условиях низких температур: К работам при низких температурах на открытом воздухе и в не отапливаемых помещениях допускаются лица не моложе 18 лет, прошедшие...
Интересное:
Что нужно делать при лейкемии: Прежде всего, необходимо выяснить, не страдаете ли вы каким-либо душевным недугом...
Отражение на счетах бухгалтерского учета процесса приобретения: Процесс заготовления представляет систему экономических событий, включающих приобретение организацией у поставщиков сырья...
Финансовый рынок и его значение в управлении денежными потоками на современном этапе: любому предприятию для расширения производства и увеличения прибыли нужны...
Дисциплины:
2023-02-03 | 26 |
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 он слишком быстро меняется на желтый. В итоге пурпурный не заметен глазу.
Попробуйте изменить порядок инструкций для получения разных результатов.
|
|
История развития хранилищ для нефти: Первые склады нефти появились в XVII веке. Они представляли собой землянные ямы-амбара глубиной 4…5 м...
Эмиссия газов от очистных сооружений канализации: В последние годы внимание мирового сообщества сосредоточено на экологических проблемах...
Археология об основании Рима: Новые раскопки проясняют и такой острый дискуссионный вопрос, как дата самого возникновения Рима...
Таксономические единицы (категории) растений: Каждая система классификации состоит из определённых соподчиненных друг другу...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!