6502
From Atariki
Wersja z dnia 13:37, 11 gru 2005 KMK (Dyskusja | wkład) ← Previous diff |
Wersja z dnia 09:10, 16 gru 2005 Piotrv (Dyskusja | wkład) (nazwy rejestrow, NMOS, stos) Next diff → |
||
Linia 1: | Linia 1: | ||
- | [[6502]] to [[procesor]] produkowany przez [[MOS Technology]]. Pierwszy raz wprowadzony do produkcji we wrześniu 1975 roku. | + | [[6502]] to [[procesor]] produkowany przez [[MOS Technology]]. Pierwszy raz wprowadzony do produkcji we wrześniu 1975 roku, wytwarzany przy wykorzystaniu technologii NMOS. |
Procesor w odróżnieniu od innych rówieśników nie był budowany w oparciu o mikrokod, był wewnętrznie prostszy i mógł pracować z mniejszymi częstotliwościami zewnętrznymi (zwykle pomiędzy 1 a 2 MHz), osiągając przy tym porównywalną wydajność. Obniżało to koszt układów z nim współpracujących, wykorzystywanych w komputerze. | Procesor w odróżnieniu od innych rówieśników nie był budowany w oparciu o mikrokod, był wewnętrznie prostszy i mógł pracować z mniejszymi częstotliwościami zewnętrznymi (zwykle pomiędzy 1 a 2 MHz), osiągając przy tym porównywalną wydajność. Obniżało to koszt układów z nim współpracujących, wykorzystywanych w komputerze. | ||
Linia 7: | Linia 7: | ||
* 56 udokumentowanych rozkazów | * 56 udokumentowanych rozkazów | ||
* 13 trybów adresowania | * 13 trybów adresowania | ||
- | * jeden ośmiobitowy rejestr ogólnego przeznaczenia (akumulator) | + | * jeden ośmiobitowy rejestr ogólnego przeznaczenia (A - akumulator) |
* dwa ośmiobitowe rejestry indeksujące (X i Y) | * dwa ośmiobitowe rejestry indeksujące (X i Y) | ||
- | * ośmiobitowy rejestr statusu | + | * ośmiobitowy rejestr statusu - P |
- | * ośmiobitowy wskaźnik stosu | + | * ośmiobitowy wskaźnik stosu - S |
- | * szesnastobitowy licznik programu | + | * szesnastobitowy licznik programu - PC |
+ | |||
+ | W przestrzeni adresowej 6502 jest wyróźniony obszar przeznaczony na stos - jest to obszar od $0100 do $01FF. | ||
== Ciekawostki == | == Ciekawostki == |
Wersja z dnia 09:10, 16 gru 2005
6502 to procesor produkowany przez MOS Technology. Pierwszy raz wprowadzony do produkcji we wrześniu 1975 roku, wytwarzany przy wykorzystaniu technologii NMOS. Procesor w odróżnieniu od innych rówieśników nie był budowany w oparciu o mikrokod, był wewnętrznie prostszy i mógł pracować z mniejszymi częstotliwościami zewnętrznymi (zwykle pomiędzy 1 a 2 MHz), osiągając przy tym porównywalną wydajność. Obniżało to koszt układów z nim współpracujących, wykorzystywanych w komputerze.
Parametry
- ośmiobitowa szyna danych
- szesnastobitowe adresowanie
- 56 udokumentowanych rozkazów
- 13 trybów adresowania
- jeden ośmiobitowy rejestr ogólnego przeznaczenia (A - akumulator)
- dwa ośmiobitowe rejestry indeksujące (X i Y)
- ośmiobitowy rejestr statusu - P
- ośmiobitowy wskaźnik stosu - S
- szesnastobitowy licznik programu - PC
W przestrzeni adresowej 6502 jest wyróźniony obszar przeznaczony na stos - jest to obszar od $0100 do $01FF.
Ciekawostki
- Procesor ma pewną liczbę nieudokumentowanych rozkazów. Szczegóły działania części z nich zależą od konkretnej wersji procesora. Mimo że zastępują one w niektórych przypadkach kilka rozkazów standardowych, to nie jest zalecane ich używanie.
- Listing programu przeznaczony dla procesora klasy 6502 był wykorzystany w filmie "The Terminator" (1984, pol. Elektroniczny Morderca) przy wyświetlaniu obrazu z kamery Terminatora T800 Model 101.
Błędy w 6502
- wystąpienie przerwania nie wyłącza trybu dziesiętnego ALU
- dodawanie i odejmowanie w trybie dziesiętnym ustawia znaczniki N i Z nieodpowiednio dla uzyskanego wyniku dziesiętnego (odzwierciedlają one cząstkowy wynik binarny operacji, przed korekcją dziesiętną)
- rozkaz JMP ($xxFF) pobierze adres skoku z komórek $xxFF/$xx00 zamiast z $xxFF/$xy00.
- jednoczesne wystąpienie przerwania NMI oraz IRQ powoduje, że to drugie zostane zignorowane.
Błędów tych pozbawione są późniejsze wersje procesora, tj. 65C02 oraz 65C816.
Zobacz także
- 6502C
- 65C02
- 65C816
- Przerwania
- 6502.org
- Zdjęcia i specyfikacja na stronie cpu-collection.de
- CC65 - darmowy cross-kompilator C dla procesora 6502
Ten artykuł to tylko zalążek. Możesz pomóc rozwojowi Atariki poprzez rozszerzenie go o więcej informacji.