HOME

TheInfoList



OR:

The Z80 is an
8-bit In computer architecture, 8-bit integers or other data units are those that are 8 bits wide (1 octet). Also, 8-bit central processing unit (CPU) and arithmetic logic unit (ALU) architectures are those that are based on registers or data buses ...
microprocessor A microprocessor is a computer processor where the data processing logic and control is included on a single integrated circuit, or a small number of integrated circuits. The microprocessor contains the arithmetic, logic, and control circ ...
introduced by
Zilog Zilog, Inc. is an American manufacturer of microprocessors and 8-bit and 16-bit microcontrollers. It is also a supplier of application-specific embedded system-on-chip (SoC) products. Its most famous product is the Z80 series of 8-bit micropro ...
as the
startup company A startup or start-up is a company or project undertaken by an entrepreneur to seek, develop, and validate a scalable business model. While entrepreneurship refers to all new businesses, including self-employment and businesses that never intend ...
's first product. The Z80 was conceived by
Federico Faggin Federico Faggin (, ; born 1 December 1941) is an Italian physicist, engineer, inventor and entrepreneur. He is best known for designing the first commercial microprocessor, the Intel 4004. He led the 4004 (MCS-4) project and the design group d ...
in late 1974 and developed by him and his 11 employees starting in early 1975. The first working samples were delivered in March 1976, and it was officially introduced on the market in July 1976. With the revenue from the Z80, the company built its own chip factories and grew to over a thousand employees over the following two years. The Zilog Z80 is a software-compatible extension and enhancement of the Intel 8080 and, like it, was mainly aimed at
embedded system An embedded system is a computer system—a combination of a computer processor, computer memory, and input/output peripheral devices—that has a dedicated function within a larger mechanical or electronic system. It is ''embedded ...
s. Although used in that role, the Z80 also became one of the most widely used CPUs in
desktop computer A desktop computer (often abbreviated desktop) is a personal computer designed for regular use at a single location on or near a desk due to its size and power requirements. The most common configuration has a case that houses the power supply ...
s and home computers from the 1970s to the mid-1980s. It was also common in military applications, musical equipment such as
synthesizer A synthesizer (also spelled synthesiser) is an electronic musical instrument that generates audio signals. Synthesizers typically create sounds by generating waveforms through methods including subtractive synthesis, additive synthesis a ...
s (like the
Roland Jupiter-8 The Jupiter-8, or JP-8, is an eight-voice polyphonic analog subtractive synthesizer introduced by Roland Corporation in early 1981. The Jupiter-8 was Roland's flagship synthesizer for the first half of the 1980s. Approximately 3300 units have ...
), and coin-operated arcade games of the late 1970s and early 1980s, including ''
Pac-Man originally called ''Puck Man'' in Japan, is a 1980 maze action video game developed and released by Namco for arcades. In North America, the game was released by Midway Manufacturing as part of its licensing agreement with Namco America. Th ...
''. Zilog licensed the Z80 to the US-based
Synertek Synertek, Inc. was an American semiconductor manufacturer founded in 1973. The initial staff consisted of Bob Schreiner (the CEO), Dan Floyd, Jack Balletto, and Gunnar Wetlesen and Zvi Grinfas. Schreiner, Floyd, Balletto and Wetlesen were all forme ...
and
Mostek Mostek was a semiconductor integrated circuit manufacturer, founded in 1969 by L. J. Sevin, Louay E. Sharif, Richard L. Petritz and other ex-employees of Texas Instruments. At its peak in the late 1970s, Mostek held an 85% market share of the d ...
, which had helped them with initial production, as well as to a European
second-source In the electronics industry, a second source is a company that is licensed to manufacture and sell components originally designed by another company (the first source). It is common for engineers and purchasers to avoid components that are only a ...
manufacturer SGS. The
design A design is a plan or specification for the construction of an object or system or for the implementation of an activity or process or the result of that plan or specification in the form of a prototype, product, or process. The verb ''to design' ...
was also copied by several Japanese, East European and Soviet manufacturers. This won the Z80 acceptance in the world market since large companies like
NEC is a Japanese multinational information technology and electronics corporation, headquartered in Minato, Tokyo. The company was known as the Nippon Electric Company, Limited, before rebranding in 1983 as NEC. It provides IT and network soluti ...
,
Toshiba , commonly known as Toshiba and stylized as TOSHIBA, is a Japanese multinational conglomerate corporation headquartered in Minato, Tokyo, Japan. Its diversified products and services include power, industrial and social infrastructure systems, ...
,
Sharp Sharp or SHARP may refer to: Acronyms * SHARP (helmet ratings) (Safety Helmet Assessment and Rating Programme), a British motorcycle helmet safety rating scheme * Self Help Addiction Recovery Program, a charitable organisation founded in 199 ...
, and
Hitachi () is a Japanese multinational conglomerate corporation headquartered in Chiyoda, Tokyo, Japan. It is the parent company of the Hitachi Group (''Hitachi Gurūpu'') and had formed part of the Nissan ''zaibatsu'' and later DKB Group and Fuyo G ...
started to manufacture the device (or their own Z80-compatible clones or designs). In recent decades Zilog has refocused on the ever-growing market for embedded systems, and the most recent Z80-compatible
microcontroller A microcontroller (MCU for ''microcontroller unit'', often also MC, UC, or μC) is a small computer on a single VLSI integrated circuit (IC) chip. A microcontroller contains one or more CPUs ( processor cores) along with memory and programmabl ...
family, the fully pipelined
24-bit Notable 24-bit machines include the CDC 924 – a 24-bit version of the CDC 1604, CDC lower 3000 series, SDS 930 and SDS 940, the ICT 1900 series, the Elliott 4100 series, and the Datacraft minicomputers/Harris H series. The term SWORD i ...
eZ80 The Zilog eZ80 is an 8-bit microprocessor from Zilog, introduced in 2001. eZ80 is an updated version of the company's first product, the Z80 microprocessor. Design The eZ80 (like the Z380) is binary compatible with the Z80 and Z180, but a ...
with a
linear Linearity is the property of a mathematical relationship ('' function'') that can be graphically represented as a straight line. Linearity is closely related to '' proportionality''. Examples in physics include rectilinear motion, the linear ...
16  MB address range, has been successfully introduced alongside the simpler Z80 and
Z180 The Zilog Z180 eight-bit processor is a successor of the Z80 CPU. It is compatible with the large base of software written for the Z80. The Z180 family adds higher performance and integrated peripheral functions like clock generator, 16-bit count ...
products.


History


Early history

Physicist A physicist is a scientist who specializes in the field of physics, which encompasses the interactions of matter and energy at all length and time scales in the physical universe. Physicists generally are interested in the root or ultimate cau ...
and
engineer Engineers, as practitioners of engineering, are professionals who Invention, invent, design, analyze, build and test machines, complex systems, structures, gadgets and materials to fulfill functional objectives and requirements while considerin ...
Federico Faggin worked at
Intel Intel Corporation is an American multinational corporation and technology company headquartered in Santa Clara, California. It is the world's largest semiconductor chip manufacturer by revenue, and is one of the developers of the x86 ser ...
on
microprocessor A microprocessor is a computer processor where the data processing logic and control is included on a single integrated circuit, or a small number of integrated circuits. The microprocessor contains the arithmetic, logic, and control circ ...
design. At
Fairchild Semiconductor Fairchild Semiconductor International, Inc. was an American semiconductor company based in San Jose, California. Founded in 1957 as a division of Fairchild Camera and Instrument, it became a pioneer in the manufacturing of transistors and of int ...
, and later at Intel, Faggin had been working on fundamental
transistor upright=1.4, gate (G), body (B), source (S) and drain (D) terminals. The gate is separated from the body by an insulating layer (pink). A transistor is a semiconductor device used to Electronic amplifier, amplify or electronic switch, switch ...
and
semiconductor A semiconductor is a material which has an electrical conductivity value falling between that of a conductor, such as copper, and an insulator, such as glass. Its resistivity falls as its temperature rises; metals behave in the opposite way ...
manufacturing technology. He also developed the basic design methodology used for memories and microprocessors at Intel and led the work on the
Intel 4004 The Intel 4004 is a 4-bit central processing unit (CPU) released by Intel Corporation in 1971. Sold for US$60, it was the first commercially produced microprocessor, and the first in a long line of Intel CPUs. The 4004 was the first significa ...
, the
Intel 8080 The Intel 8080 (''"eighty-eighty"'') is the second 8-bit microprocessor designed and manufactured by Intel. It first appeared in April 1974 and is an extended and enhanced variant of the earlier 8008 design, although without binary compatibil ...
and several other ICs.
Masatoshi Shima is a Japanese electronics engineer. He was one of the architects of the world's first microprocessor, the Intel 4004. In 1968, Shima worked for Busicom in Japan, and did the logic design for a specialized CPU to be translated into three-chip ...
was the principal logic and transistor-level designer of the 4004 and the 8080 under Faggin's supervision, while
Ralph Ungermann Ralph Kelley Ungermann (20 January 1942 – 2 June 2015) was an American engineer and entrepreneur. He is best known for founding Zilog with Federico Faggin and Ungermann-Bass with Charlie Bass. Due to his work in U-B, he was considered to ...
was in charge of custom
integrated circuit An integrated circuit or monolithic integrated circuit (also referred to as an IC, a chip, or a microchip) is a set of electronic circuits on one small flat piece (or "chip") of semiconductor material, usually silicon. Large numbers of tiny ...
design. In early 1974, Intel viewed their microprocessors not so much as products to be sold on their own but as a way to sell more of their main products,
static RAM Static random-access memory (static RAM or SRAM) is a type of random-access memory (RAM) that uses latching circuitry (flip-flop) to store each bit. SRAM is volatile memory; data is lost when power is removed. The term ''static'' differe ...
and ROM. A reorganization placed many of the formerly independent sections under the direction of Les Vadasz, and a new group was set up to directly market the microprocessors. That year, the
1973–1975 recession The 1973–1975 recession or 1970s recession was a period of economic stagnation in much of the Western world during the 1970s, putting an end to the overall post–World War II economic expansion. It differed from many previous recessions by ...
reached a peak and Intel laid off a number of employees. All of this led to Faggin becoming restless, and he invited Ungermann out for drinks and asked if he would be interested in starting their own company. Ungermann immediately agreed, and as he had less to do at Intel, left in August or September, followed by Faggin, whose last day at Intel was Halloween 1974. When Shima heard, he asked to come to the new company as well, but having no actual product design or money, they told him to wait. The newly-formed and unnamed company initially began designing a single-chip
microcontroller A microcontroller (MCU for ''microcontroller unit'', often also MC, UC, or μC) is a small computer on a single VLSI integrated circuit (IC) chip. A microcontroller contains one or more CPUs ( processor cores) along with memory and programmabl ...
called the 2001. They met with
Synertek Synertek, Inc. was an American semiconductor manufacturer founded in 1973. The initial staff consisted of Bob Schreiner (the CEO), Dan Floyd, Jack Balletto, and Gunnar Wetlesen and Zvi Grinfas. Schreiner, Floyd, Balletto and Wetlesen were all forme ...
to discuss fabrication on their lines, and when Faggin began to understand the costs involved it became clear that a low-cost product like this would not be able to compete with a design from a company with its own production lines, like Intel. They then began considering a more complex microprocessor instead, initially known as the Super 80, with the main feature being its use of a +5 V bus instead of the more common -5, +5 and 12 V used by designs like the 8080. The new design was intended to be compatible with the 8080, but add many of the nice features of the
Motorola 6800 The 6800 ("''sixty-eight hundred''") is an 8-bit microprocessor designed and first manufactured by Motorola in 1974. The MC6800 microprocessor was part of the M6800 Microcomputer System (latter dubbed ''68xx'') that also included serial and para ...
, including
index register An index register in a computer's CPU is a processor register (or an assigned memory location) used for pointing to operand addresses during the run of a program. It is useful for stepping through strings and arrays. It can also be used for hol ...
s and improved interrupts.


Exxon investment, detailed development begins

While still being set up, the industry newsletter ''Electronic News'' heard of them and published a story on the newly formed company. This attracted the attention of Exxon Enterprises,
Exxon ExxonMobil Corporation (commonly shortened to Exxon) is an American multinational oil and gas corporation headquartered in Irving, Texas. It is the largest direct descendant of John D. Rockefeller's Standard Oil, and was formed on November 3 ...
's high-tech investment arm. At the time, in the midst of the recession, there was very little
venture capital Venture capital (often abbreviated as VC) is a form of private equity financing that is provided by venture capital firms or funds to startups, early-stage, and emerging companies that have been deemed to have high growth potential or which h ...
available, with a total of $10 million for the entire industry being spent in all of 1975. Someone from Exxon contacted the still-unnamed company, and arranged a meeting that eventually led to them providing an initial $500,000 funding in June 1975. With funding being discussed, and a design to be built, Shima joined in February 1975. Shima immediately set about producing a high-level design, adding several concepts of his own. In particular, he used his experience on
NEC is a Japanese multinational information technology and electronics corporation, headquartered in Minato, Tokyo. The company was known as the Nippon Electric Company, Limited, before rebranding in 1983 as NEC. It provides IT and network soluti ...
minicomputer A minicomputer, or colloquially mini, is a class of smaller general purpose computers that developed in the mid-1960s and sold at a much lower price than mainframe and mid-size computers from IBM and its direct competitors. In a 1970 survey, ' ...
s to add the concept of two sets of
processor register A processor register is a quickly accessible location available to a computer's processor. Registers usually consist of a small amount of fast storage, although some registers have specific hardware functions, and may be read-only or write-only. ...
s so they could quickly respond to
interrupt In digital computers, an interrupt (sometimes referred to as a trap) is a request for the processor to ''interrupt'' currently executing code (when permitted), so that the event can be processed in a timely manner. If the request is accepted, ...
s. Ungerman began the development of a series of related controllers and peripheral chips that would complement the design. Through this period, Shima developed a legendary reputation for being able to convert logic concepts into physical design in realtime; while discussing a proposed feature, he would often interrupt and state how much room that would take on the chip and veto its addition if it was too large. The first pass at the design was complete by April 1975. Shima had completed a logic layout by the beginning of May. A second version of the logic design was issued on 7 August and the bus details by 16 September. Tape-out was completed in November and converting the tape into a production mask required two more months. Faggin had already started looking for a production partner. By this time, Synertek and
Mostek Mostek was a semiconductor integrated circuit manufacturer, founded in 1969 by L. J. Sevin, Louay E. Sharif, Richard L. Petritz and other ex-employees of Texas Instruments. At its peak in the late 1970s, Mostek held an 85% market share of the d ...
had both set up the depletion-mode production lines that could be used to produce the design. Having talked to Synertek previously, Faggin approached them first. However, the president of Synertek demanded that the company be given a
second source In the electronics industry, a second source is a company that is licensed to manufacture and sell components originally designed by another company (the first source). It is common for engineers and purchasers to avoid components that are only av ...
license, allowing them to sell the design directly. Faggin thought this would mean they could never compete even if they set up their own lines, and the agreement fell through. He then turned to Mostek, who agreed to a term of exclusivity while Zilog got their lines set up, and were eventually given the second source agreement. After considering many names for the new company, and finding them so unmemorable they couldn't recall them even a day later, Faggin and Ungermann were kicking around ideas based on "integrated logic" when Ungermann said "how about Zilog?" Faggin immediately agreed, stating they could say it was the "last word in integrated logic". When they met the next day and both immediately recalled it, the company had its name.


Into production

The first samples were returned from Mostek on 9 March 1976. By the end of the month, they had also completed a
assembler Assembler may refer to: Arts and media * Nobukazu Takemura, avant-garde electronic musician, stage name Assembler * Assemblers, a fictional race in the ''Star Wars'' universe * Assemblers, an alternative name of the superhero group Champions of ...
-based development system. Some of the Z80 support and peripheral ICs were under development at this point, and many of them were launched during the following year. Among them were the Z80 CTC (counter/timer), Z80 DMA (direct memory access), Z80 DART (dual asynchronous receiver–transmitter), Z80 SIO (synchronous communication controller), and Z80 PIO (parallel input/output). The Z80 was officially launched in July 1976. One of the very first customers was a buyer who, unknown to Zilog, worked for NEC. At the time, the Japanese electronics companies were well known for taking US chip designs and producing them without a license. The Zilog team had worried about this, and Faggin had come up with the idea of adding transistors that would be subtlely modified to operate differently than a visual inspection would suggest. Shima added six of these "traps" around the design. Sometime later, Shima was told by an engineer within NEC that the traps had delayed their copying efforts by six months. The successful launch allowed Faggin and Ungermann to approach Exxon looking for funding to build their own fab. The company agreed, and Zilog built a production line very rapidly. This allowed them to capture about 60 to 70% of the total market for Z80 sales. With their own line running, Mostek was given the go-ahead to start sales of their own versions, the MK3880, which provided a second-source for customers which Intel lacked. At the time, a second-source was considered extremely important as a start-up like Zilog might go out of business and leave potential customers stranded.


Comparison with the 8080

Faggin designed the
instruction set In computer science, an instruction set architecture (ISA), also called computer architecture, is an abstract model of a computer. A device that executes instructions described by that ISA, such as a central processing unit (CPU), is called an ...
to be
binary compatible Binary-code compatibility (binary compatible or object-code-compatible) is a property of a computer system, meaning that it can run the same executable code, typically machine code for a general-purpose computer CPU, that another computer syste ...
with the 8080 so that most 8080 code, notably the
CP/M CP/M, originally standing for Control Program/Monitor and later Control Program for Microcomputers, is a mass-market operating system created in 1974 for Intel 8080/ 85-based microcomputers by Gary Kildall of Digital Research, Inc. Initi ...
operating system An operating system (OS) is system software that manages computer hardware, software resources, and provides common daemon (computing), services for computer programs. Time-sharing operating systems scheduler (computing), schedule tasks for ef ...
and Intel's
PL/M The PL/M programming language (an acronym of ''Programming Language for Microcomputers'') is a high-level language conceived and developed by Gary Kildall in 1973 for Hank Smith at Intel for its microprocessors. Overview The language incorpor ...
compiler for 8080 (as well as its generated code), would run unmodified on the new Z80 CPU. Masatoshi Shima designed most of the
microarchitecture In computer engineering, microarchitecture, also called computer organization and sometimes abbreviated as µarch or uarch, is the way a given instruction set architecture (ISA) is implemented in a particular processor. A given ISA may be imp ...
as well as the gate and transistor levels of the Z80 CPU, assisted by a small number of engineers and
layout Layout may refer to: * Page layout, the arrangement of visual elements on a page ** Comprehensive layout (comp), a proposed page layout presented by a designer to their client * Layout (computing), the process of calculating the position of obj ...
people. CEO Federico Faggin was actually heavily involved in the chip layout work, together with two dedicated layout people. According to Faggin, he worked 80 hours a week in order to meet the tight schedule given by the financial investors. The Z80 offered many improvements over the 8080: * An enhanced
instruction set In computer science, an instruction set architecture (ISA), also called computer architecture, is an abstract model of a computer. A device that executes instructions described by that ISA, such as a central processing unit (CPU), is called an ...
including: ** a more logical, comprehensible and readable system of assembler instruction
mnemonics A mnemonic ( ) device, or memory device, is any learning technique that aids information retention or retrieval (remembering) in the human memory for better understanding. Mnemonics make use of elaborative encoding, retrieval cues, and imager ...
** more flexible 16-bit data movement (load, or LD) instructions, crucially including the stack pointer SP ** more flexible addressing modes for input/output to external peripheral ports ** single-bit addressing of all registers and memory, including bit testing ** shifts/rotates on memory and registers other than the accumulator ** improved and more accurate (than the previous 8080) BCD arithmetic ** rotate instructions for BCD number strings in memory ** 16-bit subtraction and 8-bit negation ** program looping ** program counter (PC) relative jumps ** block copy, block
input/output In computing, input/output (I/O, or informally io or IO) is the communication between an information processing system, such as a computer, and the outside world, possibly a human or another information processing system. Inputs are the signals ...
(I/O), and byte search instructions. * An
overflow flag In computer processors, the overflow flag (sometimes called the V flag) is usually a single bit in a system status register used to indicate when an arithmetic overflow has occurred in an operation, indicating that the signed two's-complement ...
with better support for signed 8- and 16-bit arithmetics. * New IX and IY
index register An index register in a computer's CPU is a processor register (or an assigned memory location) used for pointing to operand addresses during the run of a program. It is useful for stepping through strings and arrays. It can also be used for hol ...
s with instructions for direct ''base+
offset Offset or Off-Set may refer to: Arts, entertainment, and media * "Off-Set", a song by T.I. and Young Thug from the '' Furious 7: Original Motion Picture Soundtrack'' * ''Offset'' (EP), a 2018 EP by singer Kim Chung-ha * ''Offset'' (film), a 200 ...
'' addressing * A better
interrupt In digital computers, an interrupt (sometimes referred to as a trap) is a request for the processor to ''interrupt'' currently executing code (when permitted), so that the event can be processed in a timely manner. If the request is accepted, ...
system: ** A more automatic and general vectorized interrupt system, ''mode 2'', primarily intended for Zilog's line of counter/timers, DMA and communications controllers, as well as a fixed vector interrupt system, ''mode 1'', for simple systems with minimal hardware (with ''mode 0'' being the 8080-compatible mode). ** A non-maskable interrupt (NMI), which can be used to respond to power-down situations or other high-priority events (and allowing a minimalistic Z80 system to easily implement a two-level interrupt scheme in ''mode 1''). * A complete duplicate
register file A register file is an array of processor registers in a central processing unit (CPU). Register banking is the method of using a single name to access multiple different physical registers depending on the operating mode. Modern integrated circuit- ...
, which could be quickly switched, to speed up response to
interrupt In digital computers, an interrupt (sometimes referred to as a trap) is a request for the processor to ''interrupt'' currently executing code (when permitted), so that the event can be processed in a timely manner. If the request is accepted, ...
s such as fast asynchronous event handlers or a multitasking dispatcher. Although they were not intended as extra registers for general code, they were nevertheless used that way in some applications. * Less hardware required for
power supply A power supply is an electrical device that supplies electric power to an electrical load. The main purpose of a power supply is to convert electric current from a source to the correct voltage, current, and frequency to power the load. As ...
, clock generation and interface to memory and I/O * Single 5-volt power supply (the 8080 needed −5 V, +5 V, and +12 V). * Single-phase 5-volt clock (the 8080 needed a high-amplitude (9 to 12 volts) non-overlapping
two-phase clock In electronics and especially synchronous digital circuits, a clock signal (historically also known as ''logic beat'') oscillates between a high and a low state and is used like a metronome to coordinate actions of digital circuits. A clock signa ...
). * Built-in
DRAM Dynamic random-access memory (dynamic RAM or DRAM) is a type of random-access semiconductor memory that stores each bit of data in a memory cell, usually consisting of a tiny capacitor and a transistor, both typically based on metal-oxid ...
refresh, which would otherwise require external circuitry, unless SRAM, more expensive and less dense (but faster), was used. * Non-multiplexed buses (the 8080 had state signals multiplexed onto the data bus). * A special-reset function that clears only the program counter, so that a single Z80 CPU could be used in a development system such as an
in-circuit emulator In-circuit emulation (ICE) is the use of a hardware device or in-circuit emulator used to debug the software of an embedded system. It operates by using a processor with the additional ability to support debugging operations, as well as to carr ...
.


Success in the market

The Z80 took over from the 8080 and its offspring, the 8085, in the processor market and became one of the most popular and widely used 8-bit CPUs. Some organizations such as
British Telecom BT Group plc (trading as BT and formerly British Telecom) is a British multinational telecommunications holding company headquartered in London, England. It has operations in around 180 countries and is the largest provider of fixed-line, b ...
remained loyal to the 8085 for embedded applications, owing to their familiarity with it and to its on-chip serial interface and interrupt architecture. Likewise,
Zenith Data Systems Zenith Data Systems (ZDS) was a division of Zenith Electronics founded in 1979 after Zenith acquired the Heath Company, which had entered the personal computer market in 1977. Headquartered in Benton Harbor, Michigan, Zenith sold personal compu ...
paired the 8085 with the 16-bit Intel 8088 in its first MS-DOS computer, the Zenith Z-100, despite having previous experience with its pioneering Z80-based Heathkit H89 and Zenith Z-89 products. However, other computers were made integrating the Z80 with other CPUs: the Radio Shack TRS-80 Model 16 with a
Motorola 68000 The Motorola 68000 (sometimes shortened to Motorola 68k or m68k and usually pronounced "sixty-eight-thousand") is a 16/32-bit complex instruction set computer (CISC) microprocessor, introduced in 1979 by Motorola Semiconductor Products Secto ...
, the
DEC Rainbow The Rainbow 100 is a microcomputer introduced by Digital Equipment Corporation (DEC) in 1982. This desktop unit had a monitor similar to the VT220 and a dual-CPU box with both Zilog Z80 and Intel 8088 CPUs. The Rainbow 100 was a triple-use mac ...
with an 8088, and the Commodore 128 with a MOS 8502. Zilog was later producing a low-power Z80 suitable for the growing laptop computer market of the early 1980s. Intel produced a CMOS 8085 (80C85) used in battery-powered portable computers, such as the
Kyocera is a Japanese multinational ceramics and electronics manufacturer headquartered in Kyoto, Japan. It was founded as in 1959 by Kazuo Inamori and renamed in 1982. It manufactures industrial ceramics, solar power generating systems, telecommunic ...
-designed laptop from April 1983, also sold by Tandy (as TRS-80 Model 100), Olivetti, and NEC. In following years, however, CMOS versions of the Z80 (from both Zilog and Japanese manufacturers) would dominate this market as well, in products such as the
Amstrad NC100 The Amstrad NC100 Notepad was an A4-size, portable Z80-based computer, released by Amstrad in 1992. It featured 64 KB of RAM, the Protext word processor, various organiser-like facilities (diary, address book and time manager), a simple calcul ...
, Cambridge Z88 and Tandy's own WP-2. Perhaps a key to the initial success of the Z80 was the built-in DRAM refresh, at least in markets such as
CP/M CP/M, originally standing for Control Program/Monitor and later Control Program for Microcomputers, is a mass-market operating system created in 1974 for Intel 8080/ 85-based microcomputers by Gary Kildall of Digital Research, Inc. Initi ...
and other office and home computers. (Most Z80
embedded system An embedded system is a computer system—a combination of a computer processor, computer memory, and input/output peripheral devices—that has a dedicated function within a larger mechanical or electronic system. It is ''embedded ...
s use
static RAM Static random-access memory (static RAM or SRAM) is a type of random-access memory (RAM) that uses latching circuitry (flip-flop) to store each bit. SRAM is volatile memory; data is lost when power is removed. The term ''static'' differe ...
that do not need refresh.) It may also have been its minimalistic two-level interrupt system, or conversely, its general multi-level daisy-chain interrupt system useful in servicing multiple Z80 IO chips. These features allowed systems to be built with less support hardware and simpler circuit board layouts. However, others claim that its popularity was due to the duplicated registers that allowed fast context switches or more efficient processing of things like floating-point math compared to 8-bit CPUs with fewer registers. (The Z80 can keep several such numbers internally, using HL'HL, DE'DE and BC'BC as 32-bits registers, avoiding having to access them from slower RAM during computation.) For the original NMOS design, the specified upper clock-frequency limit increased successively from the introductory 2.5  MHz, via the well known 4 MHz (Z80A), up to 6 (Z80B) and 8 MHz (Z80H). The NMOS version has been produced as a 10 MHz part since the late 1980s.
CMOS Complementary metal–oxide–semiconductor (CMOS, pronounced "sea-moss", ) is a type of metal–oxide–semiconductor field-effect transistor (MOSFET) fabrication process that uses complementary and symmetrical pairs of p-type and n-type MOSF ...
versions were developed with specified upper frequency limits ranging from 4 MHz up to 20 MHz for the version sold today. The CMOS versions allowed low-power standby with internal state retained, having no ''lower'' frequency limit. The fully compatible derivatives
HD64180 The HD64180 is a Z80-based embedded microprocessor developed by Hitachi with an integrated memory management unit (MMU) and on-chip peripherals. It appeared in 1985. The Hitachi HD64180 "Super Z80" was later licensed to Zilog and sold by them ...
/
Z180 The Zilog Z180 eight-bit processor is a successor of the Z80 CPU. It is compatible with the large base of software written for the Z80. The Z180 family adds higher performance and integrated peripheral functions like clock generator, 16-bit count ...
and
eZ80 The Zilog eZ80 is an 8-bit microprocessor from Zilog, introduced in 2001. eZ80 is an updated version of the company's first product, the Z80 microprocessor. Design The eZ80 (like the Z380) is binary compatible with the Z80 and Z180, but a ...
are currently specified for up to 33 and 50 MHz respectively.


Design


Programming model and register set

The programming model and register set of the Z80 are fairly conventional, ultimately based on the register structure of the
Datapoint 2200 The Datapoint 2200 was a mass-produced programmable computer terminal usable as a computer, designed by Computer Terminal Corporation (CTC) founders Phil Ray and Gus Roche and announced by CTC in June 1970 (with units shipping in 1971). It was ...
. The Z80 was designed as an extension of the Intel 8080, created by the same engineers, which in turn was an extension of the
8008 The Intel 8008 ("''eight-thousand-eight''" or "''eighty-oh-eight''") is an early byte-oriented microprocessor designed by Computer Terminal Corporation (CTC), implemented and manufactured by Intel, and introduced in April 1972. It is an 8-bit ...
. The 8008 was basically a PMOS implementation of the TTL-based CPU of the Datapoint 2200. The 2200 design allowed 8-bit registers H and L (High and Low) to be paired into a 16-bit address register HL. In the 8080, this pairing was added to the BC and DE pairs as well, while HL was generalized to allow use as a 16-bit accumulator, not just an address register. The 8080 also introduced the important 8-bit immediate data mode for accumulator operations, and immediate 16-bit data for HL, BC and DE loads. Furthermore, direct 16-bit copying between HL and memory was now possible, using a direct address. The Z80 orthogonalized this further by making all 16-bit register pairs, including IX and IY, more general purpose, as well as allowing 16-bit copying directly to and from memory for all of these pairs. The 16-bit IX and IY registers in the Z80 are primarily intended as base address-registers, where a particular instruction supplies a constant offset that is added to the previous values, but they are also usable as 16-bit accumulators, among other things. A limitation is that all operand references involving IX or IY require an extra instruction prefix byte, adding at least four clock cycles over the timing of an instruction using HL instead; this sometimes makes using IX or IY less efficient than a method using only the 8080-model registers. The Z80 also introduced a new signed
overflow flag In computer processors, the overflow flag (sometimes called the V flag) is usually a single bit in a system status register used to indicate when an arithmetic overflow has occurred in an operation, indicating that the signed two's-complement ...
and complemented the fairly simple 16-bit arithmetics of the 8080 with dedicated instructions for ''signed'' 16-bit arithmetics. The 8080-compatible registers AF, BC, DE, HL are duplicated as a separate register file in the Z80, where the processor can quickly (four t-states, the least possible execution time for any Z80 instruction) switch from one bank to the other; a feature useful for speeding up responses to single-level, high-priority interrupts. A similar feature was present in the 2200, but was never implemented at Intel. The dual register-set is very useful in the embedded role, as it improves interrupt handling performance, but found widespread use in the personal computer role as an additional set of general registers for complex code like
floating-point arithmetic In computing, floating-point arithmetic (FP) is arithmetic that represents real numbers approximately, using an integer with a fixed precision, called the significand, scaled by an integer exponent of a fixed base. For example, 12.345 can be ...
or home computer games. The duplicate register file is often referred to as the "alternate register set" (by some, the "primed" register file since the apostrophe character is used to denote them in assembler source code and the Zilog documentation). This emphasizes that only one set is addressable at any time. However, the 8-bit accumulator A with its flag register F is bifurcated from the "general purpose" register pairs HL, DE and BC. This is accomplished with two separate instructions used to swap their accessibilities: EX AF,AF' exchanges only register pair AF with AF', while the EXX instruction exchanges the three general purpose register pairs HL, DE and BC with their alternates HL', DE' and BC'. Thus the accumulator A can interact independently with any of the general purpose 8-bit registers in the alternate (or primed) register file, or, if HL' contains a pointer to memory, some byte there (DE' and BC' can also transfer 8-bit data between memory and accumulator A). This can become confusing for programmers because after executing EX AF,AF' or EXX what were previously the alternate (primed) registers are now the main registers, and vice versa. The only way for the programmer to tell which set(s) are in context (while "playing computer" while scrutinizing the assembler source text, or worse, poring over code with a debugger) is to trace where each register swap is made at each point in the program. Obviously if many jump and calls are made within these code segments it can quickly become difficult to tell which register file is in context unless carefully commented. Thus it is advisable that exchange instructions be used directly and in short discrete code segments. The Zilog Z280 instruction set includes JAF and JAR instructions which jump to a destination address if the alternate registers are in context (thus officially recognizing this programming complication).


Registers

As on the 8080, 8-bit registers are typically paired to provide 16-bit versions. The 8080 compatible registers are: * AF: 8-bit accumulator (A) and flag bits (F) carry, zero, minus, parity/overflow, half-carry (used for BCD), and an Add/Subtract flag (usually called N) also for BCD * BC: 16-bit data/address register or two 8-bit registers * DE: 16-bit data/address register or two 8-bit registers * HL: 16-bit accumulator/address register or two 8-bit registers * SP:
stack pointer In computer science, a call stack is a stack data structure that stores information about the active subroutines of a computer program. This kind of stack is also known as an execution stack, program stack, control stack, run-time stack, or mach ...
, 16 bits * PC: program counter, 16 bits The new registers introduced with the Z80 are: * IX: 16-bit index or base register for 8-bit immediate offsets * IY: 16-bit index or base register for 8-bit immediate offsets * I: interrupt vector base register, 8 bits * R: DRAM refresh counter, 8 bits ( msb does not count) * AF': alternate (or shadow) accumulator and flags (''toggled in and out with EX AF,AF' '') * BC', DE' and HL': alternate (or shadow) registers (''toggled in and out with EXX'') * Four bits of interrupt status and interrupt mode status The ''refresh register'', R, increments each time the CPU fetches an opcode (or an opcode prefix, which internally executes like a 1-byte instruction) and has no simple relationship with program execution. This has sometimes been used to generate
pseudorandom A pseudorandom sequence of numbers is one that appears to be statistically random, despite having been produced by a completely deterministic and repeatable process. Background The generation of random numbers has many uses, such as for rand ...
numbers in games, and also in software protection schemes. It has also been employed as a "hardware" counter in some designs; an example of this is the ZX81, which lets it keep track of character positions on the TV screen by triggering an interrupt at wrap around (by connecting INT to A6). The ''interrupt vector register'', I, is used for the Z80 specific mode 2 interrupts (selected by the IM 2 instruction). It supplies the high byte of the base address for a 128-entry table of service routine addresses which are selected via an index sent to the CPU during an
interrupt In digital computers, an interrupt (sometimes referred to as a trap) is a request for the processor to ''interrupt'' currently executing code (when permitted), so that the event can be processed in a timely manner. If the request is accepted, ...
acknowledge cycle; this index is simply the low byte part of the pointer to the tabulated indirect address pointing to the service routine. The pointer identifies a particular peripheral chip or peripheral function or event, where the chips are normally connected in a so-called daisy chain for priority resolution. Like the refresh register, this register has also sometimes been used creatively; in interrupt modes 0 and 1 (or in a system not using interrupts) it can be used as simply another 8-bit data register. The instructions LD A,R and LD A,I affect the Z80 flags register, unlike all the other LD (load) instructions. The Sign (bit 7) and Zero (bit 6) flags are set according to the data loaded from the Refresh or Interrupt source registers. For both instructions, the Parity/Overflow flag (bit 2) is set according to the current state of the IFF2 flip-flop.


Microarchitecture

Although the Z80 is generally considered an eight-bit CPU, it has a four-bit ALU, so calculations were done in two cycles.


Z80 assembly language


Datapoint 2200 and Intel 8008

The first Intel 8008
assembly language In computer programming, assembly language (or assembler language, or symbolic machine code), often referred to simply as Assembly and commonly abbreviated as ASM or asm, is any low-level programming language with a very strong correspondence b ...
was based on a very simple (but systematic) syntax inherited from the Datapoint 2200 design. This original syntax was later transformed into a new, somewhat more traditional, assembly language form for this same original 8008 chip. At about the same time, the new assembly language was also extended to accommodate the additional addressing modes in the more advanced Intel 8080 chip (the 8008 and 8080 shared a language subset without being
binary compatible Binary-code compatibility (binary compatible or object-code-compatible) is a property of a computer system, meaning that it can run the same executable code, typically machine code for a general-purpose computer CPU, that another computer syste ...
; however, the 8008 was binary compatible with the Datapoint 2200). In this process, the mnemonic L, for ''LOAD'', was replaced by various abbreviations of the words ''LOAD'', ''STORE'' and ''MOVE'', intermixed with other symbolic letters. The mnemonic letter M, for ''memory'' (referenced by HL), was lifted out from within the instruction mnemonic to become a syntactically freestanding ''operand'', while registers and combinations of registers became very inconsistently denoted; either by abbreviated operands (MVI D, LXI H and so on), within the instruction mnemonic itself (LDA, LHLD and so on), or both at the same time (LDAX B, STAX D and so on). ''Illustration of four syntaxes, using samples of equivalent, or (for 8086) very similar, load and store instructions. The Z80 syntax uses parentheses around an expression to indicate that the value should be used as a memory address (as mentioned below), while the 8086 syntax uses brackets instead of ordinary parentheses for this purpose. Both Z80 and 8086 use the + sign to indicate that a constant is added to a base register to form an address. Note that the 8086 is not a complete superset of the Z80. BX is the only 8086 register pair that can be used as a pointer.''


New syntax

Because Intel claimed a copyright on their assembly mnemonics, a new assembly syntax had to be developed for the Z80. This time a more systematic approach was used: * All registers and register pairs are explicitly denoted by their full names * Parentheses are consistently used to indicate "memory contents at" (constant address or variable pointer dereferencing) with the exception of one jump instruction JP (HL). JP (XY) is merely a variation of JP (HL) loading the new PC address. * All load and store instructions use the same mnemonic name, LD, for LOAD (a return to the simplistic Datapoint 2200 vocabulary); other common instructions, such as ADD and INC, use the same mnemonic regardless of addressing mode or operand size. This is possible because the operands themselves carry enough information. These principles made it straightforward to find names and forms for all new Z80 instructions, as well as
orthogonalization In linear algebra, orthogonalization is the process of finding a set of orthogonal vectors that span a particular subspace. Formally, starting with a linearly independent set of vectors in an inner product space (most commonly the Euclidean s ...
s of old ones, such as LD BC,(1234). Apart from naming differences, and despite a certain discrepancy in basic register structure, the Z80 and
8086 The 8086 (also called iAPX 86) is a 16-bit microprocessor chip designed by Intel between early 1976 and June 8, 1978, when it was released. The Intel 8088, released July 1, 1979, is a slightly modified chip with an external 8-bit data bus (allo ...
syntax are virtually
isomorphic In mathematics, an isomorphism is a structure-preserving mapping between two structures of the same type that can be reversed by an inverse mapping. Two mathematical structures are isomorphic if an isomorphism exists between them. The word i ...
for a large portion of instructions. Only quite superficial similarities (such as the word MOV, or the letter X, for extended register) exist between the 8080 and 8086 assembly languages, although 8080 programs can be translated to 8086 assembly language by translator programs.


Instruction set and encoding

The Z80 uses 252 out of the available 256 codes as single byte opcodes ("root instruction" which are all inherited from the 8080); the four remaining codes are used extensively as
opcode prefix In computing, an opcode (abbreviated from operation code, also known as instruction machine code, instruction code, instruction syllable, instruction parcel or opstring) is the portion of a machine language instruction that specifies the operat ...
es: CB and ED enable extra instructions, and DD or FD select IX+d or IY+d respectively (in some cases without displacement d) in place of HL. This scheme gives the Z80 a large number of permutations of instructions and registers; Zilog categorizes these into 158 different "instruction types", 78 of which are the same as those of the Intel 8080 (allowing operation of all 8080 programs on a Z80). The Zilog documentation further groups instructions into the following categories (most from the 8080, others entirely new like the block and bit instructions, and others 8080 instructions with more versatile addressing modes, like the 16-bit loads, I/O, rotates/shifts and relative jumps): * Load and exchange * Block transfer and search * Arithmetic and logical * Rotate and shift * Bit manipulation (set, reset, test) * Jump, call and return * Input/output * Basic CPU control No explicit multiply instructions are available in the original Z80, though registers A and HL can be multiplied by powers of two with ADD A,A and ADD HL,HL instructions (similarly IX and IY also). Shift instructions can also multiply or divide by powers of two. Different sizes and variants of additions, shifts, and rotates have somewhat differing effects on flags because most of the flag-changing properties of the 8080 were copied. However, the parity flag bit P of the 8080 (bit 2) is called P/V (parity/overflow) in the Z80 as it serves the additional purpose of a twos complement overflow indicator, a feature lacking in the 8080. Arithmetic instructions on the Z80 set it to indicate overflow rather than parity, while bitwise instructions still use it as a parity flag. (This introduces a subtle incompatibility of the Z80 with code written for the 8080, as the Z80 sometimes indicates signed overflow where the 8080 would indicate parity, possibly causing the logic of some practical 8080 software to fail on the Z80.) This new overflow flag is used for all new Z80-specific 16-bit operations (, ) as well as for 8-bit arithmetic operations, while the 16-bit operations inherited from the 8080 (, , ) do not affect it. Also, bit 1 of the flags register (a spare bit on the 8080) is used as a flag N that indicates whether the last arithmetic instruction executed was a subtraction or addition. The Z80 version of the instruction (decimal adjust accumulator for BCD arithmetic) checks the N flag and behaves accordingly, so a (hypothetical) subtraction followed later by will yield a different result on an old 8080 than on the Z80. However, this would likely be erroneous code on the 8080, as was defined for addition only on that processor. The Z80 has six new instructions that can load the DE, BC, and SP register pairs from memory, and load memory from these three register pairs—unlike the 8080. As on the 8080, load instructions do not affect the flags (except for the special-purpose I and R register loads). A result of a regular encoding (common with the 8080) is that each of the 8-bit registers can be loaded from themselves (e.g. ). This is effectively a . New block transfer instructions can move up to 64 kilobytes from memory to memory or between memory and I/O peripheral ports. Block instructions and (load, increment/decrement, repeat) use HL to point to the source address, DE to the destination address, and BC as a byte counter. Bytes are copied from source to destination, the pointers are incremented or decremented, and the byte counter is decremented until BC reaches zero. Non-repeating versions and move a single byte and bump the pointers and byte counter, which if it becomes zero resets the P/V flag. Corresponding memory-to-I/O instructions , , , , , , and operate similarly. The Z80 can input and output any register to an I/O port using register C to designate the port. (The 8080 only performs I/O through the accumulator A, using a direct port address specified in the instruction; a self-modifying code technique is required to use a variable 8080 port address.) The last group of block instructions perform a compare operation between the byte at (HL) and the accumulator A. Register pair DE is not used. The repeating versions and only terminate if BC goes to zero or a match is found. HL is left pointing to the byte after () or before () the matching byte. If no match is found the Z flag is reset. There are non-repeating versions and . Unlike the 8080, the Z80 can jump to a relative address ( instead of ) using a signed 8-bit displacement. Only the zero and carry flags can be tested for these new two-byte instructions. (All 8080 jumps and calls, conditional or not, are three-byte instructions.) A two-byte instruction specialized for program looping is also new to the Z80: (decrement jump if non-zero) takes a signed 8-bit displacement as an immediate operand. The B register is decremented, and if the result is nonzero, then program execution jumps relative to PC; the flags remain unaltered. To perform an equivalent loop on an 8080 requires separate and conditional jump (to a two-byte absolute address) instructions (totalling four bytes), and the alters the flag register. The index register (IX/IY, often abbreviated XY) instructions can be useful for accessing data organised in fixed heterogenous structures (such as records) or at fixed offsets relative a variable base address (as in recursive
stack frame In computer science, a call stack is a stack data structure that stores information about the active subroutines of a computer program. This kind of stack is also known as an execution stack, program stack, control stack, run-time stack, or mach ...
s) and can also reduce code size by removing the need for multiple short instructions using non-indexed registers. However, although they may save speed in some contexts when compared to long/complex "equivalent" sequences of simpler operations, they incur a lot of additional CPU time (e.g., 19 T-states to access one indexed memory location vs. as little as 11 to access the same memory using HL and to point to the next). Thus, for simple or linear accesses of data, use of IX and IY tend to be slower and occupy more memory. Still, they may be useful in cases where the "main" registers are all occupied, by removing the need to save/restore registers. Their officially undocumented 8-bit halves (see below) can be especially useful in this context, for they incur less slowdown than their 16-bit parents. Similarly, instructions for 16-bit additions are not particularly fast (11 clocks) in the original Z80 (being 1 clock slower than in the 8080/8085); nonetheless, they are about twice as fast as performing the same calculations using 8-bit operations, and equally important, they reduce register usage. It was not uncommon for programmers to "poke" different offset displacement bytes (which were typically calculated dynamically) into indexed instructions; this is an example of
self-modifying code In computer science, self-modifying code (SMC) is code that alters its own instructions while it is executing – usually to reduce the instruction path length and improve performance or simply to reduce otherwise repetitively similar code, ...
, which was regular practice on nearly all early 8-bit processors with non- pipelined execution units. The index registers have a parallel instruction to , which is . This is often seen in stack-oriented languages like
Forth Forth or FORTH may refer to: Arts and entertainment * ''forth'' magazine, an Internet magazine * ''Forth'' (album), by The Verve, 2008 * ''Forth'', a 2011 album by Proto-Kaw * Radio Forth, a group of independent local radio stations in Scotla ...
, which at the end of every Forth word (atomic subroutines comprising the language) must jump unconditionally back to their thread interpreter routines. Typically this jump instruction appears many hundreds of times in an application, and using rather than saves a byte and two T-states for each occurrence. This naturally makes the index register unavailable for any other use, or else the need to constantly reload it would negate its efficiency. The 10-year-newer microcoded
Z180 The Zilog Z180 eight-bit processor is a successor of the Z80 CPU. It is compatible with the large base of software written for the Z80. The Z180 family adds higher performance and integrated peripheral functions like clock generator, 16-bit count ...
design could initially afford more "chip area", permitting a slightly more efficient implementation (using a wider ALU, among other things); similar things can be said for the Z800,
Z280 The Zilog Z280 is a 16-bit microprocessor, an enhancement of the Zilog Z80 architecture, introduced in July 1987. It is basically the Z800, renamed, with slight improvements such as being fabricated in CMOS. It was a commercial failure. Zilog ...
, and
Z380 The Z380 and Z382 are Zilog 16-bit/32-bit processor from 1994.https://www.zilog.com/docs/datacomm/pb0075.pdf It is Z80 compatible, but it was released much later than its competitors (the Intel 386 and Motorola 68020) and as a result was never ab ...
. However, it was not until the fully pipelined
eZ80 The Zilog eZ80 is an 8-bit microprocessor from Zilog, introduced in 2001. eZ80 is an updated version of the company's first product, the Z80 microprocessor. Design The eZ80 (like the Z380) is binary compatible with the Z80 and Z180, but a ...
was launched in 2001 that those instructions finally became approximately as cycle-efficient as it is technically possible to make them, i.e. given the Z80 encodings combined with the capability to do an 8-bit read or write every clock cycle.


Undocumented instructions

The index registers, IX and IY, were intended as flexible 16-bit pointers, enhancing the ability to manipulate memory, stack frames and data structures. Officially, they were treated as 16-bit only. In reality they were implemented as a pair of 8-bit registers, in the same fashion as the HL register, which is accessible either as 16 bits or separately as the ''H''igh and ''L''ow registers. The binary opcodes (machine language) were identical, but preceded by a new opcode prefix. Zilog published the opcodes and related mnemonics for the intended functions, but did not document the fact that every opcode that allowed manipulation of the H and L registers was equally valid for the 8 bit portions of the IX and IY registers. For example, the opcode 26h followed by an immediate byte value will load that value into the H register. Preceding this two-byte instruction with the IX register's opcode prefix, DD, would instead result in the most significant 8 bits of the IX register being loaded with that same value. A notable exception to this would be instructions similar to which make use of both the HL and IX or IY registers in the same instruction; in this case the DD prefix is only applied to the (IX+d) portion of the instruction. The halves of the XY registers could also hold operands for 8-bit arithmetic, logical and compare instructions, sparing the regular 8-bit registers for other use. The undocumented ability to increment and decrement the upper half of an index register made it easy to expand the range of the normal indexed instructions, without having to resort to the documented or . There are several other undocumented instructions as well. Undocumented or
illegal opcode An illegal opcode, also called an unimplemented operation, unintended opcode or undocumented instruction, is an instruction to a CPU that is not mentioned in any official documentation released by the CPU's designer or manufacturer, which nev ...
s are not detected by the Z80 and have various effects, some of which are useful. However, as they are not part of the formal definition of the instruction set, different implementations of the Z80 are not guaranteed (or especially likely) to work the same way for every undocumented opcode.


Bugs

The instruction does not conform to the Z80 documentation. Both the and instructions are supposed to leave the carry (C) flag unmodified. The instruction operates correctly; however, during the execution of the instruction, the carry flag takes the results of a spurious compare between the accumulator (A) and the last output of the instruction.


Example code

EXAMPLE 1: The following Z80 assembler source code is for a subroutine named HELLO_WORLD. This is an introductory program which will print a message to the video display and then exit. Though simple, it demonstrates how an assembler source code is formatted and interacts with the display hardware through a computer operating system. This is necessarily specific to a particular computer hardware, operating system and assembler software. The example used is the
TRS-80 Model 4 The TRS-80 Model 4 is the last Z80-based home computer family by Radio Shack RadioShack, formerly RadioShack Corporation, is an American retailer founded in 1921. At its peak in 1999, RadioShack operated over 8,000 worldwide stores named Rad ...
running TRSDOS/LS-DOS 6.x, produced by Tandy/Radio Shack and Logical Systems, with most any assembler sold by Radio Shack or Misosys Inc. (Series I/EDTASM, ALDS, EDAS or MRAS with -GC switch). The principal features of this configuration are universal to Z80 assemblers, even under CP/M. EXAMPLE 2: The following Z80 assembly source code is for a subroutine named memcpy that copies a block of data bytes of a given size from one location to another. Important: the example code does not handle the case where the destination block overlaps the source; a serious limitation, but one that is irrelevant for some applications—such as, especially, when the source is in ROM and the destination in RAM, so they can never overlap. The sample code is extremely inefficient, intended to illustrate various instruction types, rather than best practices for speed. The data block is copied one byte at a time, and the data movement and looping logic utilizes 16-bit operations. Furthermore, the Z80 has a single instruction that will execute the entire loop (LDIR). Note that the assembled code is binary-compatible with the Intel 8080 and 8085 CPUs.


Instruction execution

Each instruction is executed in steps that are usually termed machine cycles (M-cycles), each of which can take between three and six clock periods (T-states). Each M-cycle corresponds roughly to one memory access or internal operation. Many instructions actually end during the M1 of the ''next'' instruction which is known as a ''fetch/execute overlap''. The Z80 machine cycles are sequenced by an internal
state machine A finite-state machine (FSM) or finite-state automaton (FSA, plural: ''automata''), finite automaton, or simply a state machine, is a mathematical model of computation. It is an abstract machine that can be in exactly one of a finite number ...
which builds each M-cycle out of 3, 4, 5 or 6 T-states depending on context. This avoids cumbersome asynchronous logic and makes the control signals behave consistently at a wide range of clock frequencies. It also means that a higher frequency crystal must be used than without this subdivision of machine cycles (approximately 2–3 times higher). It does not imply tighter requirements on memory access times, since a high resolution clock allows more precise control of memory timings and so memory can be active in parallel with the CPU to a greater extent, allowing more efficient use of available memory bandwidth. One central example of this is that, for opcode fetch, the Z80 combines two full clock cycles into a memory access period (the M1-signal). In the Z80 this signal lasts for a relatively larger part of the typical instruction execution time than in a design such as the 6800,
6502 The MOS Technology 6502 (typically pronounced "sixty-five-oh-two" or "six-five-oh-two") William Mensch and the moderator both pronounce the 6502 microprocessor as ''"sixty-five-oh-two"''. is an 8-bit microprocessor that was designed by a small te ...
, or similar, where this period would typically last typically 30-40% of a clock cycle. With memory chip affordability (i.e. access times around 450-250 ns in the 1980s) typically determining the fastest possible access time, this meant that such designs were locked to a significantly longer clock cycle (i.e. lower internal clock speed) than the Z80. Memory was generally slow compared to the state machine sub-cycles (clock cycles) used in contemporary microprocessors. The shortest machine cycle that could safely be used in embedded designs has therefore often been limited by memory access times, not by the maximum CPU frequency (especially so during the home computer era). However, this relation has slowly changed during the last decades, particularly regarding SRAM; cacheless, single-cycle designs such as the eZ80 have therefore become much more meaningful recently. The content of the refresh register R is sent out on the lower half of the address bus along with a refresh control signal while the CPU is decoding and executing the fetched instruction. During refresh the contents of the Interrupt register I are sent out on the upper half of the address bus.


Compatible peripherals

Zilog introduced a number of peripheral parts for the Z80, which all support the Z80's interrupt handling system and I/O address space. These include the counter/timer channel (CTC), the SIO (serial input/output), the DMA (direct memory access), the PIO (parallel input/output) and the DART (dual asynchronous receiver–transmitter). As the product line developed, low-power, high-speed and
CMOS Complementary metal–oxide–semiconductor (CMOS, pronounced "sea-moss", ) is a type of metal–oxide–semiconductor field-effect transistor (MOSFET) fabrication process that uses complementary and symmetrical pairs of p-type and n-type MOSF ...
versions of these chips were introduced. File:Basic Measuring Instruments - Math Processor 83002190 - Zilog Z80 PIO Z84C2008PEC-3919.jpg, PIO Z84C2008 File:Basic Measuring Instruments - Math Processor 83002190 - Zilog Z80 CTC Z84C3008PEC-3918.jpg, CTC Z84C3008 File:Basic Measuring Instruments - Math Processor 83002190 - Zilog Z80 SIO Z84C4008PEC-3920.jpg, SIO Z84C4008 Like the 8080, 8085 and 8086 processors, but unlike processors such as the Motorola 6800 and MOS Technology 6502, the Z80 and 8080 has a separate control line and address space for I/O instructions. While some Z80-based computers such as the
Osborne 1 The Osborne 1 is the first commercially successful portable computer, released on April 3, 1981 by Osborne Computer Corporation. It weighs , cost US$1,795, and runs the CP/M 2.2 operating system. It is powered from a wall socket, as it has no ...
used "Motorola-style" memory mapped input/output devices, usually the I/O space was used to address one of the many Zilog peripheral chips compatible with the Z80. Zilog I/O chips supported the Z80's new mode 2 interrupts which simplified interrupt handling for large numbers of peripherals. The Z80 was officially described as supporting 16-bit (64 KB) memory addressing, and 8-bit (256 ports) I/O-addressing. All I/O instructions actually assert the entire 16-bit address bus. OUT (C),reg and IN reg,(C) places the contents of the entire 16-bit BC register on the address bus; OUT (n),A and IN A,(n) places the contents of the A register on b8–b15 of the address bus and n on b0–b7 of the address bus. A designer could choose to decode the entire 16-bit address bus on I/O operations in order to take advantage of this feature, or use the high half of the address bus to select subfeatures of the I/O device. This feature has also been used to minimise decoding hardware requirements, such as in the
Amstrad CPC The Amstrad CPC (short for ''Colour Personal Computer'') is a series of 8-bit home computers produced by Amstrad between 1984 and 1990. It was designed to compete in the mid-1980s home computer market dominated by the Commodore 64 and the Si ...
/ PCW and ZX81.


Second sources and derivatives


Second sources

Mostek, which produced the first Z80 for Zilog, offered it as
second-source In the electronics industry, a second source is a company that is licensed to manufacture and sell components originally designed by another company (the first source). It is common for engineers and purchasers to avoid components that are only a ...
as MK3880. SGS-Thomson (now
STMicroelectronics STMicroelectronics N.V. commonly referred as ST or STMicro is a Dutch multinational corporation and technology company of French-Italian origin headquartered in Plan-les-Ouates near Geneva, Switzerland and listed on the French stock market. ST ...
) was a second-source, too, with their Z8400. Sharp and
NEC is a Japanese multinational information technology and electronics corporation, headquartered in Minato, Tokyo. The company was known as the Nippon Electric Company, Limited, before rebranding in 1983 as NEC. It provides IT and network soluti ...
developed second sources for the NMOS Z80, the LH0080 and μPD780C, respectively. The LH0080 was used in various home computers and personal computers made by Sharp and other Japanese manufacturers, including
Sony , commonly stylized as SONY, is a Japanese multinational conglomerate corporation headquartered in Minato, Tokyo, Japan. As a major technology company, it operates as one of the world's largest manufacturers of consumer and professional ...
MSX computers, and a number of computers in the Sharp MZ series. Toshiba made a CMOS-version, the TMPZ84C00, which is believed (but not verified) to be the same design also used by Zilog for its own CMOS Z84C00. There were also Z80-chips made by
GoldStar GoldStar was a South Korean electronics company established in 1958. The corporate name was changed to LG Electronics and LG Cable on February 28, 1995, after merging with Lucky Chemical. LG Cable was spun off from LG Electronics and changed i ...
(now LG) and the BU18400 series of Z80-clones (including DMA, PIO, CTC, DART and SIO) in NMOS and
CMOS Complementary metal–oxide–semiconductor (CMOS, pronounced "sea-moss", ) is a type of metal–oxide–semiconductor field-effect transistor (MOSFET) fabrication process that uses complementary and symmetrical pairs of p-type and n-type MOSF ...
made by ROHM Electronics. In
East Germany East Germany, officially the German Democratic Republic (GDR; german: Deutsche Demokratische Republik, , DDR, ), was a country that existed from its creation on 7 October 1949 until German reunification, its dissolution on 3 October 1990. In t ...
, an unlicensed clone of the Z80, known as the
U880 The U880 is an 8-bit microprocessor that was manufactured by VEB Mikroelektronik "Karl Marx" Erfurt (abbreviated as MME; part of Kombinat Mikroelektronik Erfurt) in the German Democratic Republic. Production of the U880 started in 1980 at VEB ...
, was manufactured. It was used extensively in Robotron's and VEB Mikroelektronik Mühlhausen's computer systems (such as the KC85-series) and also in many self-made computer systems. In
Romania Romania ( ; ro, România ) is a country located at the crossroads of Central Europe, Central, Eastern Europe, Eastern, and Southeast Europe, Southeastern Europe. It borders Bulgaria to the south, Ukraine to the north, Hungary to the west, S ...
another unlicensed clone could be found, named
MMN80CPU MMN80CPU is a Z80A microprocessor clone, working at 3.5 MHz. It was produced from 1988 onwards at Microelectronica Bucharest for Romania Romania ( ; ro, România ) is a country located at the crossroads of Central Europe, Central, Easte ...
and produced by Microelectronica, used in home computers like TIM-S, HC, COBRA. Also, several clones of Z80 were created in the
Soviet Union The Soviet Union,. officially the Union of Soviet Socialist Republics. (USSR),. was a transcontinental country that spanned much of Eurasia from 1922 to 1991. A flagship communist state, it was nominally a federal union of fifteen nationa ...
, notable ones being the T34BM1, also called
КР1858ВМ1 The U880 is an 8-bit microprocessor that was manufactured by VEB Mikroelektronik "Karl Marx" Erfurt (abbreviated as MME; part of Kombinat Mikroelektronik Erfurt) in the German Democratic Republic. Production of the U880 started in 1980 at VEB F ...
(parallelling the Soviet 8080-clone
KR580VM80A The KR580VM80A (russian: КР580ВМ80А) is a Soviet microprocessor, a clone of the Intel 8080 CPU. Different versions of this CPU were manufactured beginning in the late 1970s, the earliest known use being in the SM1800 computer in 1979. Initi ...
). The first marking was used in pre-production series, while the second had to be used for a larger production. Though, due to the collapse of Soviet microelectronics in the late 1980s, there are many more T34BM1s than КР1858ВМ1s. File:KL Mostek MK3880P Z80.jpg,
Mostek Mostek was a semiconductor integrated circuit manufacturer, founded in 1969 by L. J. Sevin, Louay E. Sharif, Richard L. Petritz and other ex-employees of Texas Instruments. At its peak in the late 1970s, Mostek held an 85% market share of the d ...
Z80: MK3880 File:KL NEC uPD780C.jpg,
NEC μPD780C is a Japanese multinational information technology and electronics corporation, headquartered in Minato, Tokyo. The company was known as the Nippon Electric Company, Limited, before rebranding in 1983 as NEC. It provides IT and network sol ...
File:Sharp LH0080A.jpg, Sharp LH0080 File:TMPZ84C00.jpg, Toshiba Z84C00 File:KL KME U880D-1.jpg, East Germany RFT U880D File:KL USSR T34BM1 Z80 Black Background.jpg, Soviet T34BM1 Z80 clone


Derivatives

; Compatible with the original Z80: *
Hitachi () is a Japanese multinational conglomerate corporation headquartered in Chiyoda, Tokyo, Japan. It is the parent company of the Hitachi Group (''Hitachi Gurūpu'') and had formed part of the Nissan ''zaibatsu'' and later DKB Group and Fuyo G ...
developed the
HD64180 The HD64180 is a Z80-based embedded microprocessor developed by Hitachi with an integrated memory management unit (MMU) and on-chip peripherals. It appeared in 1985. The Hitachi HD64180 "Super Z80" was later licensed to Zilog and sold by them ...
, a microcoded and partially dynamic Z80 in CMOS, with on chip peripherals and a simple MMU giving a 1  MB address space. It was later second sourced by Zilog, initially as the Z64180, and then in the form of the slightly modified
Z180 The Zilog Z180 eight-bit processor is a successor of the Z80 CPU. It is compatible with the large base of software written for the Z80. The Z180 family adds higher performance and integrated peripheral functions like clock generator, 16-bit count ...
which has bus protocol and timings better adapted to Z80 peripheral chips. Z180 has been maintained and further developed under Zilog's name, the newest versions being based on the fully static S180/L180 core with very low power draw and EMI (noise). *
Toshiba , commonly known as Toshiba and stylized as TOSHIBA, is a Japanese multinational conglomerate corporation headquartered in Minato, Tokyo, Japan. Its diversified products and services include power, industrial and social infrastructure systems, ...
developed the 84 pin Z84013 / Z84C13 and the 100 pin Z84015 / Z84C15 series of "intelligent peripheral controllers", basically ordinary NMOS and CMOS Z80 cores with Z80 peripherals,
watchdog timer A watchdog timer (sometimes called a ''computer operating properly'' or ''COP'' timer, or simply a ''watchdog'') is an electronic or software timer that is used to detect and recover from computer malfunctions. Watchdog timers are widely used in ...
, power on reset, and wait state generator on the same chip. Manufactured by
Sharp Sharp or SHARP may refer to: Acronyms * SHARP (helmet ratings) (Safety Helmet Assessment and Rating Programme), a British motorcycle helmet safety rating scheme * Self Help Addiction Recovery Program, a charitable organisation founded in 199 ...
as well as Toshiba. These products are today second sourced by Zilog. * The 32-bit Z80 compatible Zilog
Z380 The Z380 and Z382 are Zilog 16-bit/32-bit processor from 1994.https://www.zilog.com/docs/datacomm/pb0075.pdf It is Z80 compatible, but it was released much later than its competitors (the Intel 386 and Motorola 68020) and as a result was never ab ...
, introduced 1994, is used mainly in telecom equipment. * Zilog's fully pipelined Z80 compatible
eZ80 The Zilog eZ80 is an 8-bit microprocessor from Zilog, introduced in 2001. eZ80 is an updated version of the company's first product, the Z80 microprocessor. Design The eZ80 (like the Z380) is binary compatible with the Z80 and Z180, but a ...
with an 8/16/24-bit word length and a linear 16 MB address space was introduced in 2001. It exists in versions with on chip SRAM or
flash memory Flash memory is an electronic non-volatile computer memory storage medium that can be electrically erased and reprogrammed. The two main types of flash memory, NOR flash and NAND flash, are named for the NOR and NAND logic gates. Both use ...
, as well as with integrated peripherals. One variant has on chip MAC (media access controller), and available software include a TCP/IP stack. In contrast with the Z800 and Z280, there are only a few added instructions (primarily
LEA Lea or LEA may refer to: Places Australia * Lea River, Tasmania, Australia * Lake Lea, Tasmania, from which the Lea River flows * RAAF Base Learmonth, IATA airport code "LEA" England * Lea, Cheshire, a civil parish * Lea, Derbyshire, a set ...
s,
PEA The pea is most commonly the small spherical seed or the seed-pod of the flowering plant species ''Pisum sativum''. Each pod contains several peas, which can be green or yellow. Botanically, pea pods are fruit, since they contain seeds and d ...
s, and variable-address 16/24-bit loads), but instructions are instead executed between 2 and 11 times as clock cycle efficient as on the original Z80 (with a mean value around 3-5 times). It is currently specified for clock frequencies up to 50 MHz. * Kawasaki developed the binary compatible KL5C8400 which is approximately 1.2-1.3 times as clock cycle efficient as the original Z80 and can be clocked at up to 33 MHz. Kawasaki also produces the KL5C80A1x family, which has peripherals as well as a small RAM on chip; it is approximately as clock cycle efficient as the eZ80 and can be clocked at up to 10 MHz (2006). * The NEC μPD9002 was a hybrid CPU compatible with both Z80 and x86 families. * The Chinese Actions Semiconductor's audio processor family of chips (ATJ2085 and others) contains a Z80-compatible MCUs together with a 24-bit dedicated DSP processor. These chips are used in many MP3 and media player products. * The T80 (VHDL) and TV80 (Verilog) synthesizable soft cores are available from OpenCores.org. * The National Semiconductor NSC800 announced in 1980 is used in many TeleSecurity Timmann (TST) electronic cipher machines and the Canon X-07. The NSC800 is fully compatible with the Z-80 instruction set. The NSC800 uses a multiplexed bus like the 8085 but has a different pinout than the Z80. ; Non-compatible: * The Toshiba TLCS 900 series of high volume (mostly OTP) microcontrollers are based on the Z80; they share the same basic BC,DE,HL,IX,IY register structure, and largely the same instructions, but are not binary compatible, while the previous TLCS 90 is Z80-compatible. * The NEC 78K series microcontrollers are based on the Z80; they share the same basic BC,DE,HL register structure, and has similar (but differently named) instructions; not binary compatible. ; Partly compatible: *
Rabbit Semiconductor Rabbit Semiconductor is an American company which designs and sells the Rabbit family of microcontrollers and microcontroller modules. For development, it provides Dynamic C, a non-standard dialect of C with proprietary structures for multitaski ...
's Rabbit 2000/3000/4000 microprocessors/microcontrollers are based on the
HD64180 The HD64180 is a Z80-based embedded microprocessor developed by Hitachi with an integrated memory management unit (MMU) and on-chip peripherals. It appeared in 1985. The Hitachi HD64180 "Super Z80" was later licensed to Zilog and sold by them ...
/
Z180 The Zilog Z180 eight-bit processor is a successor of the Z80 CPU. It is compatible with the large base of software written for the Z80. The Z180 family adds higher performance and integrated peripheral functions like clock generator, 16-bit count ...
architecture, although they are not fully binary compatible. ; No longer produced: * The
ASCII Corporation was a Japanese publishing company based in Chiyoda, Tokyo. It became a subsidiary of Kadokawa Group Holdings in 2004, and merged with another Kadokawa subsidiary MediaWorks on April 1, 2008, becoming ASCII Media Works. The company published ' ...
R800 was a fast 16-bit processor used in MSX TurboR computers; it was software, but not hardware compatible with the Z80 (signal timing, pinout & function of pins differ from the Z80). * Zilog's NMOS Z800 and CMOS
Z280 The Zilog Z280 is a 16-bit microprocessor, an enhancement of the Zilog Z80 architecture, introduced in July 1987. It is basically the Z800, renamed, with slight improvements such as being fabricated in CMOS. It was a commercial failure. Zilog ...
were 16-bit Z80-implementations (before the
HD64180 The HD64180 is a Z80-based embedded microprocessor developed by Hitachi with an integrated memory management unit (MMU) and on-chip peripherals. It appeared in 1985. The Hitachi HD64180 "Super Z80" was later licensed to Zilog and sold by them ...
/
Z180 The Zilog Z180 eight-bit processor is a successor of the Z80 CPU. It is compatible with the large base of software written for the Z80. The Z180 family adds higher performance and integrated peripheral functions like clock generator, 16-bit count ...
) with a 16 MB paged MMU address space; they added many orthogonalizations and addressing modes to the Z80 instruction set. Minicomputer features — such as user and system modes, multiprocessor support, on chip MMU, on chip instruction and data cache and so on — were seen rather as more complexity than as functionality and support for the (usually electronics-oriented) embedded systems designer, it also made it very hard to predict instruction execution times. * Certain
arcade game An arcade game or coin-op game is a coin-operated entertainment machine typically installed in public businesses such as restaurants, bars and amusement arcades. Most arcade games are presented as primarily games of skill and include arcade vi ...
s such as Pang/
Buster Bros ''Pang '', originally released in Japan as and known in North America as ''Buster Bros.'', is a 1989 action game released by Mitchell Corporation for arcades in 1989. It was the tenth game released for Capcom's CP System arcade hardware. The b ...
use an encrypted "Kabuki" Z80 CPU manufactured by VLSI Technology, where the decryption keys are stored in its internal
battery-backed memory nvSRAM is a type of non-volatile random-access memory (NVRAM). nvSRAM extends the functionality of basic SRAM by adding non-volatile storage such as an EEPROM to the SRAM chip. In operation, data is written to and read from the SRAM portion wit ...
, to avoid piracy and illegal bootleg games. File:R800 02.jpg, ASCII R800 File:HD64180 DIP.jpg, Hitachi
HD64180 The HD64180 is a Z80-based embedded microprocessor developed by Hitachi with an integrated memory management unit (MMU) and on-chip peripherals. It appeared in 1985. The Hitachi HD64180 "Super Z80" was later licensed to Zilog and sold by them ...
File:Z180 PLCC 1988.png, Zilog
Z180 The Zilog Z180 eight-bit processor is a successor of the Z80 CPU. It is compatible with the large base of software written for the Z80. The Z180 family adds higher performance and integrated peripheral functions like clock generator, 16-bit count ...
File:Z280 PLCC 1987.png, Zilog Z280 File:TMPZ84C015AF 01.png, Toshiba TMPZ84C015


Notable uses


Desktop computers

During the late 1970s and early 1980s, the Z80 was used in a great number of fairly anonymous business-oriented machines with the
CP/M CP/M, originally standing for Control Program/Monitor and later Control Program for Microcomputers, is a mass-market operating system created in 1974 for Intel 8080/ 85-based microcomputers by Gary Kildall of Digital Research, Inc. Initi ...
operating system, a combination that dominated the market at the time. Four well-known examples of Z80 business computers running CP/M are the Heathkit H89, the portable
Osborne 1 The Osborne 1 is the first commercially successful portable computer, released on April 3, 1981 by Osborne Computer Corporation. It weighs , cost US$1,795, and runs the CP/M 2.2 operating system. It is powered from a wall socket, as it has no ...
, the
Kaypro Kaypro Corporation was an American home and personal computer manufacturer based out of San Diego in the 1980s. The company was founded by Non-Linear Systems (NLS) to compete with the popular Osborne 1 portable microcomputer. Kaypro produced a ...
series, and the Epson QX-10. Less well-known was the expensive high-end Otrona Attache. Some systems used multi-tasking operating system software (like
MP/M MP/M (Multi-Programming Monitor Control Program) is a discontinued multi-user version of the CP/M operating system, created by Digital Research developer Tom Rolander in 1979. It allowed multiple users to connect to a single computer, each u ...
or Morrow's Micronix) to share the one processor between several
concurrent user In computer science, the number of concurrent users (sometimes abbreviated CCU) for a resource in a location, with the location being a computing network or a single computer, refers to the total number of people simultaneously accessing or using t ...
s. Multiple home computers were introduced that used the Z80 as the main processor or as a plug-in option to allow access to software written for the Z80. Notable are the
TRS-80 The TRS-80 Micro Computer System (TRS-80, later renamed the Model I to distinguish it from successors) is a desktop microcomputer launched in 1977 and sold by Tandy Corporation through their Radio Shack stores. The name is an abbreviation of ' ...
series, including the original model (later retronymed "Model I"), Model II, Model III, and Model 4, which were equipped with a Z80 as their main processor, and some (but not all) other TRS-80 models which used the Z80 as either the main or a secondary processor. Other notable machines were the DEC Rainbow 100, and the
Seequa Chameleon The Seequa Chameleon was an early 1980s luggable personal computer; it was capable of running both the DOS and CP/M operating systems. It did so by having both Zilog Z80 and Intel 8088 microprocessors.Intel 8088 The Intel 8088 ("''eighty-eighty-eight''", also called iAPX 88) microprocessor is a variant of the Intel 8086. Introduced on June 1, 1979, the 8088 has an eight-bit external data bus instead of the 16-bit bus of the 8086. The 16-bit registers and ...
and a Z80 CPU, to support either 8-bit CP/M-80 applications running on the Z80, or a custom MS-DOS that was not fully compatible with
PC DOS PC or pc may refer to: Arts and entertainment * Player character or playable character, a fictional character controlled by a human player, usually in role-playing games or computer games * '' Port Charles'', an American daytime TV soap opera * ...
applications running on the 8088. In 1981, Multitech (later to become Acer) introduced the Microprofessor I, a simple and inexpensive training system for the Z80 microprocessor. Currently, it is still manufactured and sold by Flite Electronics International Limited in
Southampton, England Southampton () is a port city in the ceremonial county of Hampshire in southern England. It is located approximately south-west of London and west of Portsmouth. The city forms part of the South Hampshire built-up area, which also covers Por ...
. In 1984 Toshiba introduced the Toshiba MSX HX-10 in Japan and Australia. In 1985,
Sharp Sharp or SHARP may refer to: Acronyms * SHARP (helmet ratings) (Safety Helmet Assessment and Rating Programme), a British motorcycle helmet safety rating scheme * Self Help Addiction Recovery Program, a charitable organisation founded in 199 ...
introduced the Hotbit and Gradiente introduced the
Expert An expert is somebody who has a broad and deep understanding and competence in terms of knowledge, skill and experience through practice and education in a particular field. Informally, an expert is someone widely recognized as a reliable so ...
, which became the dominant 8-bit home computers in
Brazil Brazil ( pt, Brasil; ), officially the Federative Republic of Brazil (Portuguese: ), is the largest country in both South America and Latin America. At and with over 217 million people, Brazil is the world's fifth-largest country by area ...
until the late 1980s.


Portable and handheld computers

Use of the Z80 in lighter, battery-operated devices became more widespread with the availability of CMOS versions of the processor. It also inspired the development of other CMOS based processors, such as the LH5801 from Sharp. The
Sharp PC-1500 The Sharp PC-1500 was a pocket computer produced by Sharp between 1981 and 1985. A rebadged version was also sold as the TRS-80 Pocket Computer PC-2. The whole computer was designed around the LH5801, an 8-bit CPU similar to the Zilog Z80, but a ...
, a
BASIC BASIC (Beginners' All-purpose Symbolic Instruction Code) is a family of general-purpose, high-level programming languages designed for ease of use. The original version was created by John G. Kemeny and Thomas E. Kurtz at Dartmouth College ...
-programmable
pocket computer A pocket computer was a 1980s-era user programmable calculator-sized computer that had fewer screen lines, Some had only one line and often fewer characters per line, than the Pocket-sized computers introduced beginning in 1989. Manufacturers in ...
was released in 1981, followed by the improved
Sharp PC-1600 The Sharp PC-1600 was a pocket computer introduced by Sharp in 1986 as a successor to the PC-1500. The PC-1600 provided compatibility with its predecessor through the use of a slave CPU that could run assembly language programs targeting the olde ...
in 1986 and the Sharp PC-E220 in 1991. Later models of the
Sharp Wizard The Sharp Wizard is a series of electronic organizers released by Sharp Corporation. The first model was the ''OZ-7000'' released in 1989, making it one of the first electronic organizers to be sold. The name ''OZ-7000'' was used for the USA marke ...
series of personal organizers also were Z80 based.
Laptop A laptop, laptop computer, or notebook computer is a small, portable personal computer (PC) with a screen and alphanumeric keyboard. Laptops typically have a clam shell form factor with the screen mounted on the inside of the upper li ...
s which could run the CP/M operating system just like the desktop machines followed with Epson PX-8 Geneva in 1984, and in 1985 the
Epson PX-4 The Epson PX-4 (HC-40 or HX-40) is a portable CP/M based computer introduced in 1985. The screen was 40×8 characters physical, but 80×25 or 40×50 virtual, making it almost compatible with the Epson PX-8 Geneva. It could be operated from a Nickel ...
and Bondwell-2. While the laptop market in subsequent years moved to more powerful
Intel 8086 The 8086 (also called iAPX 86) is a 16-bit microprocessor chip designed by Intel between early 1976 and June 8, 1978, when it was released. The Intel 8088, released July 1, 1979, is a slightly modified chip with an external 8-bit data bus (allo ...
processors and the MS-DOS operating system, light-weight Z80-based systems with a longer battery life were still being introduced, such as the
Cambridge Z88 The Cambridge Computer Z88 is a Zilog Z80-based portable computer released in 1987 by Cambridge Computer, the company formed for such purpose by Clive Sinclair. It was approximately A4 paper sized and lightweight at , running on four AA batte ...
in 1988 and the
Amstrad NC100 The Amstrad NC100 Notepad was an A4-size, portable Z80-based computer, released by Amstrad in 1992. It featured 64 KB of RAM, the Protext word processor, various organiser-like facilities (diary, address book and time manager), a simple calcul ...
in 1992. The Z80-derived Z8S180 also found its way into an early pen-operated
personal digital assistant A personal digital assistant (PDA), also known as a handheld PC, is a variety mobile device which functions as a personal information manager. PDAs have been mostly displaced by the widespread adoption of highly capable smartphones, in part ...
, the Amstrad PenPad PDA600 in 1993. Hong Kong-based VTech produced a line of small laptop computers called 'Lasers' based on a Z80. The last two were the Laser PC5 and PC6. The
Cidco MailStation The CIDCo MailStation was a portable e-mail terminal first introduced by CIDCO Inc in 1999 at Amazon.com and was marketed as the Mivo 100 by EarthLink. The MailStation is no longer sold by either EarthLink or Amazon. The MailStation was design ...
Mivo 100, first released in 1999, was a stand-alone portable email device, with a Z80-based microcontroller. Texas Instruments produced a line of pocket organizers (ending in 2000) using Toshiba processors built around a Z80 core; the first of these was the TI PS-6200 and after a lengthy production run of some dozen models culminated in their PocketMate series.


Embedded systems and consumer electronics

The Zilog Z80 has long been a popular microprocessor in
embedded system An embedded system is a computer system—a combination of a computer processor, computer memory, and input/output peripheral devices—that has a dedicated function within a larger mechanical or electronic system. It is ''embedded ...
s and
microcontroller A microcontroller (MCU for ''microcontroller unit'', often also MC, UC, or μC) is a small computer on a single VLSI integrated circuit (IC) chip. A microcontroller contains one or more CPUs ( processor cores) along with memory and programmabl ...
cores, where it remains in widespread use today. Applications of the Z80 include uses in consumer electronics, industrial products, and electronic musical instruments. For example, Z80 was used in the groundbreaking music synthesizer
Prophet-5 The Prophet-5 is an analog synthesizer manufactured by the American company Sequential. It was designed by Dave Smith and John Bowen in 1977, who used microprocessors, then a new technology, to create the first polyphonic synthesizer with f ...
, as well as in the first MIDI synthesizer Prophet 600.
Casio is a Japanese multinational electronics manufacturing corporation headquartered in Shibuya, Tokyo, Japan. Its products include calculators, mobile phones, digital cameras, electronic musical instruments, and analogue and digital watches. ...
used the Z80A in its PV-1000 video game console. A good number of early-1980s arcade video games, including the arcade game
Pac-Man originally called ''Puck Man'' in Japan, is a 1980 maze action video game developed and released by Namco for arcades. In North America, the game was released by Midway Manufacturing as part of its licensing agreement with Namco America. Th ...
, contain Z80 CPUs. The Z80 was used in the
Sega Master System The is an 8-bit third-generation home video game console manufactured by Sega. It was originally a remodeled export version of the Sega Mark III, the third iteration of the SG-1000 series of consoles, which was released in Japan in 1985 and ...
and
Sega Game Gear The is an 8-bit fourth generation handheld game console released by Sega on October 6, 1990, in Japan, in April 1991 throughout North America and Europe, and during 1992 in Australia. The Game Gear primarily competed with Nintendo's Game Boy, ...
consoles. The
Sega Genesis The Sega Genesis, known as the outside North America, is a 16-bit Fourth generation of video game consoles, fourth generation home video game console developed and sold by Sega. It was Sega's third console and the successor to the Master Syst ...
contains a Z80, with its own 8 KB of RAM, which runs in parallel with the MC68000 main CPU, has direct access to the system's sound chips and I/O (controller) ports, and has a switched data path to the main memory bus of the 68000 (providing access to the 64 KB main RAM, the software cartridge, and the whole video chip); in addition to providing backward compatibility with Master System games, the Z80 is often used to control and play back audio in Genesis software. Z80 CPUs were also used in the trailblazing and popular TI-8x series of graphing calculators from
Texas Instruments Texas Instruments Incorporated (TI) is an American technology company headquartered in Dallas, Texas, that designs and manufactures semiconductors and various integrated circuits, which it sells to electronics designers and manufacturers globa ...
, beginning in 1990 with the
TI-81 The TI-81 was the first graphing calculator released by Texas Instruments. It was designed in 1990 for use in algebra and precalculus courses. Since its original release, it has been superseded several times by newer calculators: the TI-85, TI- ...
, which features a Z80 clocked at 2 MHz. Most higher-line calculators in the series, starting with the
TI-82 The TI-82 is a graphing calculator made by Texas Instruments. The TI-82 was designed in 1993 as a stripped down, more user friendly version of the TI-85, and as a replacement for the TI-81. It was the direct predecessor of the TI-83. It share ...
and
TI-85 The TI-85 is a graphing calculator made by Texas Instruments based on the Zilog Z80 microprocessor. Designed in 1992 as TI's second graphing calculator (the first was the TI-81), it was replaced by the TI-86, which has also been discontinued ...
, clock their Z80 CPUs at 6 MHz or higher. (A few models with TI-8x names use other CPUs, such as the M68000, but the vast majority are Z80-based. On those, it is possible to run assembled or compiled user programs in the form of Z80 machine-language code.) The
TI-84 Plus series The TI-84 Plus is a graphing calculator made by Texas Instruments which was released in early 2004. There is no original TI-84, only the TI-84 Plus, the TI-84 Plus Silver Edition models, and the TI-84 Plus CE. The TI-84 Plus is an enhanced ve ...
, introduced in 2004, is still in production as of 2020. The TI-84 Plus CE series, introduced in 2015, uses the Z80-derived Zilog eZ80 processor and is also still in production as of 2020. In the late 1980s, a series of
Soviet The Soviet Union,. officially the Union of Soviet Socialist Republics. (USSR),. was a List of former transcontinental countries#Since 1700, transcontinental country that spanned much of Eurasia from 1922 to 1991. A flagship communist state, ...
landline phones called "AON" featured the Z80; these phones expanded the feature set of the landline with
caller ID Caller identification (Caller ID) is a telephone service, available in analog and digital telephone systems, including voice over IP (VoIP), that transmits a caller's telephone number to the called party's telephone equipment when the call i ...
, different
ringtone A ringtone, ring tone or ring is the sound made by a telephone to indicate an incoming call. Originally referring to and made by the electromechanical striking of bells, the term now refers to any sound on any device alerting of a new incoming ...
s based on the caller, speed dial and so forth. In the second half of nineties manufacturers of these phones switched to 8051 compatible MCUs to reduce power consumption and prevent compact wall warts from overheating.


See also

* Zilog eZ80 *
S-100 bus The S-100 bus or Altair bus, IEEE 696-1983 ''(withdrawn)'', is an early computer bus designed in 1974 as a part of the Altair 8800. The bus was the first industry standard expansion bus for the microcomputer industry. computers, consisting of p ...
*
SymbOS SYmbiosis Multitasking Based Operating System (SymbOS) is a multitasking operating system for Zilog Z80-based 8-bit computer systems. Contrary to early 8-bit operating systems it is based on a microkernel, which provides preemptive and priori ...
*
Z88DK Z88DK is a Small-C-derived cross compiler for a long list of Z80 based computers. The name derives from the fact that it was originally developed to target the Cambridge Z88. Z88DK is much developed from Small-C and it accepts many features of AN ...
*
Micro-Professor MPF-I The Micro-Professor MPF-I, introduced in 1981 by Multitech (which, in 1987, changed its name to Acer), was the first branded computer product from Multitech and probably one of the world's longest selling computers. The MPF-I, specifically design ...
, Z80 training system


Footnotes


References

Sources * * *


Further reading

;Datasheets and manuals
''Z80 Datasheet (NMOS)''
Zilog; 10 pages; 1978.
''Z80 Data Book (NMOS)''
Zilog; 131 pages; 1978.
''Z80 Datasheet (NMOS and CMOS)''
Zilog; 36 pages; 2002
''Errata''

''Z80 User Manual (NMOS and CMOS)''
Zilog; 332 pages; 2016.
''Z80 Peripheral User Manual (NMOS and CMOS)''
Zilog; 330 pages; 2001. ;Hardware books * ''
Build Your Own Z80 Computer ''Build Your Own Z80 Computer: design guidelines and application notes'' is a book written by Steve Ciarcia, published in 1981 by McGraw-Hill. The book explains step-by-step the process of building a computer from the ground up, using the Zilog ...
- Design Guidelines and Application Notes''; 1st Ed;
Steve Ciarcia Steve Ciarcia is an embedded control systems engineer. He became popular through his ''Ciarcia's Circuit Cellar'' column in ''BYTE'' magazine, and later through the ''Circuit Cellar'' magazine that he published. He is also the author of '' Build Yo ...
; Byte Books; 332 pages; 1981; . (archive)
/small> * ''Z80 Microprocessor - Architecture, Interfacing, Programming, and Design''; 1st Ed; Ramesh Gaonkar; Macmillan; 674 pages; 1988; . (archive)
/small> * ''Z80 Users Manual - Pin Definitions, Control Signals, Peripherals, and More''; 1st Ed; Joseph Carr; Reston; 338 pages; 1980; . (archive)
/small> * ''Microprocessor Interfacing Techniques''; 3rd Ed; Rodnay Zaks and Austin Lesea; Sybex; 466 pages; 1979; . (archive)
/small> ;Software books * ''Programming the Z80''; 3rd Ed; Rodnay Zaks; Sybex; 630 pages; 1980; . (archive)
/small> * ''Z80 Assembly Language Programming''; 1st Ed; Lance Leventhal; Osborne/McGraw-Hill; 642 pages; 1979; . (archive)
/small> * ''8080/Z80 Assembly Language - Techniques for Improved Programming''; 1st Ed; Alan Miller; John Wiley & Sons; 332 pages; 1981; . (archive)
/small> * ''Z80 and 8080 Assembly Language Programming''; 1st Ed; Kathe Spracklen; Hayden; 180 pages; 1979; . (archive)
/small> * ''Practical Microcomputer Programming - The Z80 - including Source for Resident Assembler and Debug Monitor''; 1st Ed; Walter Weller; Northern Technology; 501 pages; 1978; . (archive)
/small> * ''Z80 Assembly Language Subroutines''; 1st Ed; Lance Leventhal and Winthrop Saville; Osborne/McGraw-Hill; 512 pages; 1983; . (archive)
/small> * ''Undocumented Z80 Documented''; Sean Young; v0.91; 52 pages; 2005. (archive)
/small> ;Reference cards * ''Reference Card for the Z80 Microprocessor''; Shirley & Nanos; Nanos Systems; 16 pages; 1981. (archive)
/small> * ''Z80 Microprocessor Instant Reference Card''; James Lewis; Micro Logic; 2 pages; 1981. (archive)
/small>


External links


Z80 unofficial support page
{{Authority control Computer-related introductions in 1976 Zilog microprocessors LH-0080 8-bit microprocessors