Jump to content

ВДК 65C02

(Перенаправлено с 65C02 )
Микропроцессор W65C02S в корпусе PDIP-40
Общая информация
Запущен 1983 год ; 41 год назад ( 1983 )
Общий производитель
Производительность
Макс. процессора Тактовая частота от 1 МГц до 14 МГц
История
Предшественник МОП-технология 6502

Western Design Center (WDC) 65C02 Микропроцессор представляет собой усовершенствованную CMOS- версию популярной nMOS на базе 8-битной технологии MOS 6502 . Он потребляет меньше энергии, чем исходный 6502, исправляет несколько проблем и добавляет новые инструкции. Потребление энергии примерно в 10–20 раз меньше, чем у оригинального 6502, работающего на той же скорости; [1] его пониженное энергопотребление сделало его полезным в портативных компьютерах и промышленных микроконтроллерных системах. 65C02 также использовался в некоторых домашних компьютерах , а также во встроенных приложениях, включая имплантируемые устройства медицинского уровня.

Разработка WDC 65C02 началась в 1981 году. [а] с семплами, выпущенными в начале 1983 года. [б] 65C02 был официально выпущен вскоре после этого. [2] WDC лицензировала разработку Synertek , NCR , GTE Microcircuits и Rockwell Semiconductor . Основной интерес Rockwell был к рынку встраиваемых систем, и он попросил добавить несколько новых команд, которые помогут в этой роли. Позже они были скопированы обратно в базовую версию, после чего WDC добавила две собственные новые команды для создания W65C02 . Позже Sanyo также лицензировала этот дизайн, а Seiko Epson выпустила еще одну модифицированную версию под названием HuC6280 .

В ранних версиях использовался 40-контактный DIP-корпус, и они были доступны в версиях с частотой 1, 2 и 4 МГц, что соответствовало скоростям исходных версий nMOS. Более поздние версии выпускались в корпусах PLCC и QFP , а также PDIP и с гораздо более высокими тактовыми частотами. Текущая версия от WDC, W65C02S-14, имеет полностью статическое ядро ​​и официально работает на частоте до 14 МГц при питании от 5 В.

Введение и особенности

[ редактировать ]

65C02 — это недорогой 8-битный микропроцессор общего назначения (8-битные регистры и шина данных ) с 16-битным программным счетчиком и адресной шиной . Набор регистров небольшой: один 8-битный аккумулятор (A), два 8-битных индексных регистра (X и Y), 8-битный регистр состояния (P) и 16-битный программный счетчик (PC). Помимо единственного аккумулятора, первые 256 байт ОЗУ, «нулевая страница» ( $0000 к $00FF), обеспечивают более быстрый доступ через режимы адресации, в которых используется 8-битный адрес памяти вместо 16-битного адреса. Стек . находится в следующих 256 байтах, на первой странице (от $0100 до $01FF), и его нельзя переместить или расширить Стек растет в обратном направлении, при этом указатель стека (S) начинается с $01FF и уменьшается по мере роста стека. [3] переменной длины Он имеет набор команд , от одного до трех байтов на команду. [1]

Базовая архитектура 65C02 идентична оригинальной 6502 и может считаться маломощной реализацией этой конструкции. При частоте 1 МГц, самой популярной скорости оригинального 6502, 65C02 требует всего 20 мВт, тогда как оригинал использует 450 мВт, что более чем в двадцать раз меньше. [4] Оптимизированное вручную ядро ​​и низкое энергопотребление призваны сделать 65C02 хорошо подходящим для разработки систем на кристалле (SoC) с низким энергопотреблением. [1]

специализированную интегральную Доступна модель описания аппаратного обеспечения Verilog для проектирования ядра W65C02S в схему (ASIC) или программируемую вентильную матрицу (FPGA). [5] Как это принято в полупроводниковой промышленности, WDC предлагает систему разработки, включающую в себя плату разработчика , внутрисхемный эмулятор (ICE) и систему разработки программного обеспечения. [6]

W65C02S –14 — серийная версия по состоянию на 2023 год. и доступен в пакетах PDIP , PLCC и QFP . Максимальная официально поддерживаемая тактовая частота Ø2 (основная) составляет 14 МГц при работе от напряжения 5 В, на что указывает суффикс номера детали –14 (любители разработали самодельные системы 65C02, которые работают быстрее, чем официальный рейтинг). Обозначение «S» указывает на то, что деталь имеет полностью статический сердечник — функцию, которая позволяет замедлять или полностью останавливать Ø2 как в высоком, так и в низком состоянии без потери данных. [7] Типичные микропроцессоры, не реализованные в CMOS, имеют динамические ядра и потеряют содержимое своих внутренних регистров (и, следовательно, выйдут из строя), если они не будут постоянно тактироваться со скоростью между некоторыми минимальными и максимальными заданными значениями.

регистры 65C02
1 5 1 4 1 3 1 2 1 1 1 0 0 9 0 8 0 7 0 6 0 5 0 4 0 3 0 2 0 1 0 0 (битовая позиция)
Основные регистры
  А аккумулятор
Индексные регистры
  Х X Индексный регистр
  И Y Регистр индекса
0 0 0 0 0 0 0 1 СП Указатель стека
Счетчик программ
ПК Программный счетчик
Регистр состояния
  Н V - Б Д я С С Статус Регистрация

Общие логические особенности

[ редактировать ]
Фотография кристалла микроконтроллера Sitronix ST2064B со встроенным ядром W65C02S в правом верхнем углу.

Логические функции

[ редактировать ]

Электрические характеристики

[ редактировать ]
  • питания Напряжение указано от 1,71 В до 5,25 В.
  • Потребление тока (ядро) 0,15 и 1,5 мА на МГц при 1,89 В и 5,25 В соответственно.
  • Набор команд переменной длины, позволяющий оптимизировать размер кода по сравнению с процессорами с набором команд фиксированной длины, что приводит к экономии энергии.
  • Полностью статическая схема позволяет останавливать часы для экономии энергии.

Функции синхронизации

[ редактировать ]

W65C02S может работать при любом удобном напряжении питания (VDD ) от 1,8 до 5 В (±5%). В таблице характеристик переменного тока паспорта указаны рабочие характеристики при 5 В на частоте 14 МГц, 3,3 В или 3 В на частоте 8 МГц, 2,5 В на частоте 4 МГц и 1,8 В на частоте 2 МГц. Эта информация может быть артефактом более раннего описания, поскольку график показывает, что типичные устройства способны работать на более высоких скоростях, чем указано в таблице характеристик переменного тока, и что надежная работа на частоте 20 МГц должна быть легко достижима при V DD при 5 вольт, при условии, что поддерживающее оборудование позволит это.

Поддержка произвольной тактовой частоты W65C02S позволяет использовать тактовую частоту, идеальную для какой-либо другой части системы, например 13,5 МГц (частота дискретизации яркости цифрового SDTV), 14,31818 МГц (несущая частота цвета NTSC × 4), 14,75 МГц (квадратные пиксели PAL), 14,7456 (кристалл скорости передачи данных) и т. д., если V DD достаточно для поддержки этой частоты. Дизайнер Билл Менш отметил, что на F MAX влияют внешние факторы, такие как емкостная нагрузка на выводы микропроцессора. Минимизация нагрузки за счет использования коротких сигнальных дорожек и наименьшего количества устройств помогает повысить F MAX . Корпуса PLCC и QFP имеют меньшую межконтактную емкость, чем корпус PDIP, и более экономичны в использовании места на печатной плате .

WDC сообщила, что реализации W65C02S на FPGA успешно работают на частоте 200 МГц. [ нужна ссылка ]

Сравнение с NMOS 6502

[ редактировать ]

Базовая архитектура

[ редактировать ]

Хотя 65C02 в основном можно рассматривать как маломощный 6502, он также исправляет несколько ошибок, обнаруженных в оригинале, и добавляет новые инструкции, режимы адресации и функции, которые могут помочь программисту писать меньшие по размеру и более быстро исполняющиеся программы. Подсчитано, что средняя программа на языке ассемблера 6502 может быть уменьшена на 10–15 процентов на 65C02 и добиться аналогичного улучшения производительности, в основном за счет исключения обращений к памяти за счет использования меньшего количества инструкций для выполнения заданной задачи. [1]

Недокументированные инструкции удалены.

[ редактировать ]

Исходный 6502 имеет 56 инструкций, которые в сочетании с различными режимами адресации создают в общей сложности 151 код операции из возможных 256 8-битных шаблонов кодов операций. Остальные 105 неиспользуемых кодов операций не определены, при этом набор кодов с младшими 4 битами с 3, 7, B или F остался полностью неиспользованным, а код с младшими 2 имеет только один код операции. [8]

В 6502 некоторые из этих оставшихся кодов фактически выполняют вычисления. Из-за особенностей работы декодера команд 6502 простая установка определенных битов в коде операции приводит к выполнению части обработки инструкций. Некоторые из этих кодов операций немедленно приводят к сбою процессора, в то время как другие выполняют полезные функции, и некоторые программисты даже использовали неофициальную мнемонику ассемблера. [9]

В 65C02 добавлены новые коды операций, которые используют некоторые из ранее недокументированных слотов команд. Например, $FF используется для нового BBS инструкция. Те, которые остаются действительно неиспользованными, эквивалентны NOPс. Программы 6502, использующие эти коды операций, не будут работать на 65C02. [1]

Исправления ошибок

[ редактировать ]

Оригинальный 6502 при первом выпуске имел несколько ошибок. Ранние версии процессора не имели ROR (повернуть вправо) и в руководствах по технологии MOS это также не документировано. ROR была реализована на очень ранней стадии производства, и подавляющее большинство машин, использующих процессор, поддерживают эту инструкцию. [10]

Ошибка, присутствующая во всех вариантах NMOS 6502, связана с инструкцией перехода при использовании косвенной адресации . В этом режиме адресации целевой адрес JMP Инструкция извлекается из памяти, вектора перехода, а не является операндом для JMP инструкция. Например, JMP ($1234) будет извлекать значение из ячеек памяти $1234 (младший значащий байт) и $1235 (самый старший байт) и загрузите эти значения в счетчик программ , что затем заставит процессор продолжить выполнение по адресу, хранящемуся в векторе.

Ошибка появляется, когда адрес вектора заканчивается на $FF — граница страницы памяти . В этом случае, JMP извлечет самый старший байт целевого адреса из 00 долларов США исходной страницы, а не 00 долларов США новой страницы. Следовательно JMP ($12FF) получит младший значащий байт целевого адреса по адресу $12FF и старший байт целевого адреса из 1200 долларов вместо 1300 долларов . 65C02 исправил эту проблему. [1]

Состояние флага (D)ecimal в регистре состояния NMOS 6502 является неопределенным после сброса или прерывания , что скорее является недосмотром, чем ошибкой. Это означает, что программистам приходится устанавливать флаг на известное значение, чтобы избежать ошибок, связанных с арифметическими операциями. В результате обнаруживается CLD инструкции (CLear Decimal) почти во всех обработчиках прерываний 6502 , а также в начале кода сброса. 65C02 автоматически очищает этот флаг после помещения регистра состояния в стек в ответ на любое прерывание или в ответ на аппаратный сброс, тем самым переводя процессор обратно в режим двоичной арифметики. [11]

Во время арифметики в десятичном режиме NMOS 6502 будет обновлять флаги (N)egative, o(V)erflow и (Z)ero, чтобы отразить результат базовой двоичной арифметики, то есть флаги отражают результат, вычисленный до обработки процессором. выполнение десятичной коррекции. Напротив, 65C02 устанавливает эти флаги в соответствии с результатом десятичной арифметики за счет дополнительного тактового цикла на каждую арифметическую команду. [11]

При выполнении инструкции чтения-изменения-записи (RMW), например INC addr, все варианты NMOS будут выполнять двойную запись в адрес addr , сначала перезаписывая текущее значение, найденное в адресе addr , а затем записывая измененное значение. Такое поведение может привести к трудно устраняемым ошибкам, если addr является аппаратным регистром. Это может произойти, если оборудование отслеживает изменения значения в регистре, а затем выполняет действие. В этом случае оно выполнит два действия: одно с исходным значением, а затем еще раз с новым значением. Вместо этого 65C02 выполняет двойное чтение addr с последующей одинарной записью.

Если при выполнении индексированной адресации индексация пересекает границу страницы, все варианты NMOS будут читать с недопустимого адреса перед доступом к правильному адресу. Как и в случае с инструкцией RMW, такое поведение может вызвать проблемы при доступе к аппаратным регистрам посредством индексации. 65C02 устранил эту проблему, выполнив фиктивное чтение кода операции инструкции, когда индексация пересекает границу страницы. Однако это исправление привело к появлению новой ошибки. [ нужна ссылка ] это происходит, когда базовый адрес находится на четной границе страницы (что означает, что индексация никогда не перейдет на следующую страницу). Благодаря новой ошибке перед индексацией выполняется фиктивное чтение базового адреса, так что LDA $1200,X сделаю пустышку, читай дальше 1200 долларов США до того, как значение X будет добавлено к 1200 долларов . Опять же, при индексации по адресам аппаратных регистров эта ошибка может привести к неопределенному поведению.

Если NMOS 6502 получает код операции BRK (программное прерывание) одновременно с аппаратным прерыванием, BRK будет игнорироваться, поскольку процессор реагирует на аппаратное прерывание. 65C02 правильно обрабатывает эту ситуацию, обслуживая прерывание и затем выполняя BRK.

Новые режимы адресации

[ редактировать ]

У 6502 есть два режима косвенной адресации, которые разыменовывают через 16-битные адреса, хранящиеся на нулевой странице:

  • Индексированный косвенный, например LDA ($10,X), добавляет регистр X к заданному нулевому адресу страницы перед чтением 16-битного вектора. В этом примере, если X равен 5, он считывает 16-битный адрес из ячейки $15/$16. Это полезно, когда на нулевой странице имеется массив указателей.
  • Косвенная индексация LDA ($10),Y добавляет регистр Y к 16-битному вектору, считанному с заданного нулевого адреса страницы. Например, если Y равно 5, и $10/$11 содержит вектор $1000 . Это значение считывается из 1005 долларов . При этом выполняется адресация со смещением указателя.

Недостатком этой модели является то, что если индексация не требуется, но адрес находится на нулевой странице, один из индексных регистров все равно должен быть установлен в ноль и использоваться в одной из этих инструкций. В 65C02 добавлен режим неиндексированной косвенной адресации. LDA ($10) ко всем инструкциям, которые использовали индексированный косвенный и косвенно индексированный режимы, освобождая индексные регистры. [12]

6502-е JMP Инструкция имела уникальный (среди 6502 инструкций) режим адресации, известный как «абсолютный косвенный», который считывал 16-битное значение из заданного адреса памяти, а затем переходил к адресу в этом 16-битном значении. Например, если ячейка памяти В $A000 содержится $34 и $A001 содержит 12 долларов, JMP ($A000) прочитает эти два байта, создаст значение $1234 , а затем перейдите в это место.

Одним из распространенных применений косвенной адресации является создание таблиц ветвей — списка точек входа для подпрограмм , доступ к которым можно получить с помощью индекса. Например, драйвер устройства может содержать список точек входа для OPEN, CLOSE, READи т. д. в таблице по адресу 000 долларов США . READ это третья запись с нулевым индексом, и каждый адрес требует 16 бит, поэтому для вызова READ можно было бы использовать что-то похожее на JMP ($A004). Если драйвер обновлен и код подпрограммы перемещен в память, любой существующий код все равно будет работать, пока таблица указателей остается на месте. 000 долларов США .

В 65C02 добавлен новый режим «индексированный абсолютный косвенный», который упростил использование таблиц ветвей. Этот режим добавлял значение регистра X к абсолютному адресу и брал 16-битный адрес из полученного адреса. Например, чтобы получить доступ к READ функции из таблицы выше, можно было бы сохранить 4 в X, тогда JMP ($A000,X). Этот стиль доступа упрощает доступ к таблицам ветвей, поскольку один базовый адрес используется в сочетании с 8-битным смещением. [12] Того же самого можно было добиться в версии NMOS с использованием индексированного косвенного режима, но только если таблица находилась на нулевой странице, а это ограниченный ресурс. Разрешение их создания за пределами нулевой страницы не только уменьшило потребность в этом ресурсе, но также позволило создавать таблицы в ПЗУ.

Новые и измененные инструкции

[ редактировать ]

В дополнение к новым режимам адресации в «базовую модель» 65C02 также добавлен набор новых инструкций. [13]

  • INC и DEC без параметров теперь увеличивает или уменьшает аккумулятор. Это была странная ошибка в исходном наборе инструкций, который включал только INX/ DEX, INY/ DEY и INC addr/ DEC addr. Некоторые ассемблеры используют альтернативные формы INA/ DEA или INC A/ DEC A. [13]
  • STZ addr, STore Zero по адресу . Заменяет необходимость LDA #0;STA addr и не требует изменения значения аккумулятора. Поскольку эта задача является общей для большинства программ, используя STZ может уменьшить размер кода, устраняя LDA а также любой код, необходимый для сохранения значения аккумулятора, обычно PHA PLA пара. [14]
  • PHX, PLX, PHY, PLY, помещайте и извлекайте регистры X и Y в/из стека. Раньше только аккумулятор и регистр состояния имели инструкции push и pull. X и Y можно было сложить, только сначала переместив их в аккумулятор с помощью TXA или TYA, тем самым изменяя содержимое аккумулятора, а затем используя PHA. [15]
  • BRA, ветка всегда. Работает как JMP но использует относительный адрес размером 1 байт, как и другие ветки, экономя байт. Скорость часто такая же, как и при абсолютном 3-тактном режиме. JMP если только не будет пересечена страница, из-за которой BRA версия на 1 цикл длиннее (4 цикла). [16] Поскольку адрес является относительным, он также полезен при написании перемещаемого кода. [14] обычная задача в эпоху, когда еще не было блоков управления памятью .

Инструкции по битовым манипуляциям

[ редактировать ]

И WDC, и Rockwell внесли улучшения в функции тестирования и манипулирования битами в 65C02. WDC добавила новые режимы адресации к инструкции BIT, которая присутствовала в 6502, а также две новые инструкции для удобного манипулирования битовыми полями, что является обычным действием в драйверах устройств.

BIT в 65C02 добавлен немедленный режим, нулевая страница, индексируемая X, и абсолютная индексация X-адресации. [13] Адресация в немедленном режиме особенно удобна тем, что она совершенно неразрушающая. Например:

LDA $1234
BIT #%00010000

может использоваться вместо:

LDA $1234
AND #%00010000

The AND операция изменяет значение в аккумуляторе, поэтому исходное значение, загруженное из $1234, теряется. С использованием BIT оставляет значение в аккумуляторе неизменным, поэтому последующий код может выполнять дополнительные проверки исходного значения, избегая повторной загрузки значения из памяти.

Помимо усовершенствований BIT инструкции, WDC добавила две инструкции, предназначенные для удобного манипулирования битовыми полями:

  • TSB addr и TRB addr, Биты проверки и установки и Биты проверки и сброса.
Маска в аккумуляторе ( .A) логически объединяется AND с памятью по адресу addr , местоположение которого может быть нулевой страницей или абсолютным. Флаг Z в регистре состояния определяется в соответствии с результатом логического И — никакие другие флаги регистра состояния не затрагиваются. Кроме того, биты в адресе устанавливаются (TSB) или очищаются (TRB) в соответствии с маской в .A. БСЭ выполняет логическое OR после логического AND и сохраняет результат логического OR по адресу addr , тогда как TRB хранит результаты логического AND по адресу . В обоих случаях флаг Z в регистре состояния указывает результат .A AND addr содержимого addr до изменения . Таким образом, TRB и TSB заменяют последовательность инструкций, по существу объединяя BIT инструкция с дополнительными шагами для сохранения вычислительных изменений, но таким образом, чтобы сообщать о состоянии затронутого значения до его изменения. [1]

Изменения Роквелла добавили больше инструкций по манипуляции битами для непосредственной установки и тестирования любого бита, а также объединения проверки, очистки и перехода в один код операции. Новые инструкции с самого начала были доступны в семействе Rockwell R65C00. [17] но не входил в исходную спецификацию 65C02 и не встречался в версиях, выпущенных WDC или другими ее лицензиатами. Позже они были скопированы обратно в базовый дизайн и стали доступны в более поздних версиях WDC.

Специальные инструкции Rockwell:

  • SMBbit# zp и RMBbit# zp. Установить или сбросить (очистить) номер бита бит# в байте нулевой страницы zp .
RMB и SMB используются для очистки (RMB) или установки (SMB) отдельных битов в битовом поле, каждый из которых заменяет последовательность из трех инструкций. Поскольку RMB и SMB предназначены только для адресации нулевой страницы, полезность этих инструкций ограничена и в первую очередь имеет значение в системах, в которых регистры устройств присутствуют на нулевой странице. [ нужна ссылка ] Компонент бит# инструкции часто записывается как часть мнемоники, например: SMB1 $12 который устанавливает бит 1 в адресе нулевой страницы $12. Некоторые ассемблеры рассматривают бит# как часть операнда инструкции, например: SMB 1,$12, преимущество которого заключается в том, что его можно заменить именем переменной или вычисленным числом. [14]
  • BBSbit# zp,addr и BBRbit# zp,addr. Переход по установке/сбросу бита.
Применяются та же адресация нулевой страницы и ограничения, что и у RMB и SMB, но они разветвляются на addr, если выбранный бит байта нулевой страницы zp сброшен (BBR) или установлен (BBS). Как и в случае с RMB и SMB выше, компонент бит# инструкции часто записывается как часть мнемоники, например: BBS1 $12,addr который переходит к метке адреса addr, если установлен бит 1 байта по адресу нулевой страницы $12. Некоторые ассемблеры рассматривают бит# как часть операнда инструкции, например: BBS 1,$12,addr, преимущество которого заключается в том, что его можно заменить именем переменной или вычисленным числом. Как и в случае с RMB и SMB, BBR и BBS заменяют последовательность из трех инструкций. [14]

Режимы пониженного энергопотребления

[ редактировать ]

В дополнение к новым командам, указанным выше, WDC также добавила команду STP и WAI инструкции по поддержке режимов пониженного энергопотребления.

STP, ОСТАНОВИТЬ процессор, остановить всю обработку до тех пор, пока не будет выполнен аппаратный сброс. Это можно использовать, чтобы перевести систему в «спящий режим», а затем быстро вывести ее из строя с помощью перезагрузки. Обычно для этого требовалась внешняя система для обслуживания основной памяти, и она не получила широкого распространения.

WAIt имел аналогичный эффект при переходе в режим пониженного энергопотребления, но эта инструкция снова разбудила процессор при получении прерывания. Раньше обработка прерывания обычно включала в себя выполнение цикла для проверки получения прерывания, иногда называемого « вращением », проверку типа при его получении и затем переход к коду обработки. Это означало, что процессор работал в течение всего процесса, даже когда не происходило никаких прерываний.

Напротив, в 65C02 код прерывания можно было записать, имея WAI за которым немедленно следует JSR или JMP обработчику. Когда WAI был обнаружен, обработка остановилась, и процессор перешел в режим пониженного энергопотребления. Когда прерывание было получено, оно немедленно обработало JSR и обработал запрос.

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

65 SC 02 представляет собой вариант WDC 65C02 без битовых инструкций. [18] [19]

Известные варианты использования 65C02

[ редактировать ]

Домашние компьютеры

[ редактировать ]

Игровые консоли

[ редактировать ]

Другие продукты

[ редактировать ]

См. также

[ редактировать ]

Примечания

[ редактировать ]
  1. Некоторые источники, включая предыдущие версии этой статьи, утверждают, что это был 1978 год. Это была дата, когда Билл Менш, главный дизайнер, основал WDC. В статье 1984 года Менш конкретно называет 1981 год датой начала.
  2. В статье Вагнера за июнь 1983 года упоминается, что он будет доступен в течение «несколько месяцев». Учитывая типичные для этого момента задержки публикации, можно датировать ее уже концом 1982 года. Другой источник указывает на 1980 год, см. страницу обсуждения.
  1. ^ Jump up to: а б с д и ж г Вагнер 1983 , с. 204.
  2. ^ «Софтток» . Издательство Софталк . Том. 3, нет. 10 июня 1983 г. с. 199 . Проверено 24 мая 2022 г.
  3. ^ Коэн, Филипп (2 марта 2018 г.). «Стек 6502» (PDF) .
  4. ^ Тейлор и Уотфорд 1984 , с. 174.
  5. ^ «Проекты ЦП 6502 в HDL (для FPGA)» .
  6. ^ «Плата разработчика W65C02DB» .
  7. ^ «W65C02S-14» .
  8. ^ Паркер, Нил. «Раскодированный набор команд 6502/65C02/65C816» . Страница Apple II Нила Паркера .
  9. ^ Варди, Адам (22 августа 1995 г.). «Дополнительные инструкции для ЦП серии 65XX» .
  10. ^ Файл: Набор инструкций MCS650x.jpg
  11. ^ Jump up to: а б «Различия между NMOS 6502 и CMOS 65c02» . Проверено 27 февраля 2018 г. Флаги N, V ​​и Z были неправильными после десятичной операции (но C был в порядке).
  12. ^ Jump up to: а б Кларк, Брюс. «Коды операций 65C02» .
  13. ^ Jump up to: а б с Вагнер 1983 , с. 200.
  14. ^ Jump up to: а б с д Вагнер 1983 , с. 203.
  15. ^ Вагнер 1983 , стр. 200–201.
  16. ^ «Техническое описание W65C02S» (PDF) .
  17. ^ Вагнер 1983 , с. 199.
  18. ^ Справочник микросхем ГТД . Микросхемы ГТД. 1984. с. 1-3 . Проверено 2 мая 2024 г.
  19. ^ Zaks, Rodnay (1983). Programming the 6502 . Sybex. p. 348. ISBN  0895881357 .
  20. ^ «8-Apple IIc» . История Apple II . 23 июня 2010 г. Проверено 31 октября 2023 г.
  21. ^ «Компьютер BBC Master Acorn» . www.old-computers.com . Проверено 31 октября 2023 г.
  22. ^ «Видеотехника LASER 128/128EX/128EX2» . www.old-computers.com . Проверено 31 октября 2023 г.
  23. ^ «HuC6280 — архаичные пиксели» .

Библиография

[ редактировать ]

Дальнейшее чтение

[ редактировать ]
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 9703e5c1e35e514f194308f9dd301a16__1720750440
URL1:https://arc.ask3.ru/arc/aa/97/16/9703e5c1e35e514f194308f9dd301a16.html
Заголовок, (Title) документа по адресу, URL1:
WDC 65C02 - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)