8-bit computing: Difference between revisions

Content deleted Content added
(1) KB = 1000, not 1024; KiB = 1024 (2) Reformat markup for notable 8 bit processor table (3) Remove some incorrect use of second-person ("you")
Partially undid revision 1234113660 by DASL51984 (talk) - this usage of IEC binary prefixes violated MOS:COMPUNITS.
Line 24:
An 8-bit register can store 2<sup>8</sup> different values. The [[range (computer programming)|range]] of [[integer]] values that can be stored in 8 bits depends on the [[Integer (computer science)#Value and representation|integer representation]] used. With the two most common representations, the range is 0 through 255 (2<sup>8</sup> − 1) for representation as an ([[signedness|unsigned]]) [[binary number]], and −128 (−1 × 2<sup>7</sup>) through 127 (2<sup>7</sup> − 1) for representation as [[two's complement]].
 
8-bit CPUs use an [[octet (computing)|8-bit]] [[Bus (computing)|data bus]] and can therefore access 8 bits of data in a single [[Instruction (computer science)|machine instruction]]. The address bus is typically a double octet ([[16-bit computing|16 bit]]s) wide, due to practical and economical considerations. This implies a direct [[address space]] of 64&nbsp;[[kibibytekilobyte|KiBKB]] (65,536 bytes) on most 8-bit processors.
 
Most [[home computer]]s from the 8-bit era fully exploited the address space, such as the [[BBC Micro]] (Model B) with 32&nbsp;KB of [[random-access memory|RAM]] plus 32&nbsp;KiBKB of [[read-only memory|ROM]]. Others like the very popular [[Commodore 64]] had full 64&nbsp;KiBKB RAM, plus 20&nbsp;KiBKB ROM, meaning with 16-bit addressing not all of the RAM could be used by default (e.g. from the included [[BASIC]] language interpreter in ROM);<ref>{{Cite web|title=Bank Switching - C64-Wiki|url=https://www.c64-wiki.com/wiki/Bank_Switching|access-date=2021-04-08|website=www.c64-wiki.com}}</ref> without exploiting [[bank switching]], which allows for breaking the 64&nbsp;KiBKB (RAM) limit in some systems. Other computers would have as low as 1&nbsp;KiBKB (plus 4&nbsp;KiBKB ROM), such as the Sinclair [[ZX80]] (while the later very popular [[ZX Spectrum]] had more memory), or even only 128 bytes of RAM (plus [[storage (memory)|storage]] from a [[ROM cartridge]]), as in an early game console [[Atari 2600]] and thus 8-bit addressing would have been enough for the RAM, if it would not have needed to cover ROM too). The [[Commodore 128]], and other 8-bit systems, meaning still with 16-bit addressing, could use more than 64&nbsp;KB, i.e. 128&nbsp;KiBKB RAM, also the [[BBC Master]] with it expandable to 512&nbsp;KiBKB of RAM.
 
{{Further|Zero page}}