All Topics  
Data General Nova

 
Data General Nova

   Email Print
   Bookmark   Link






 

Data General Nova



 
 
The Data General Nova was a popular 16-bit
16-bit

16-bit architectureThe HP 2100#Descendants and variants , introduced in 1975, was the world's first 16-bit microprocessor.Prominent 16-bit processors include the PDP-11, Intel 8086, Intel 80286 and the WDC 65C816....
 minicomputer
Minicomputer

A minicomputer is a class of multi-user computers that lies in the middle range of the computing spectrum, in between the largest multi-user systems and the smallest single-user systems ....
 built by the United States company Data General
Data General

Data General was one of the first minicomputer firms from the late 1960s. Three of the four founders were former employees of Digital Equipment Corporation....
 starting in 1969. The Nova was packaged into a single rack mount case and had enough power to do most simple computing tasks. The Nova became popular in science laboratories around the world, and eventually 50,000 units were sold. It was followed by the Data General Eclipse
Data General Eclipse

The Data General Eclipse line of computer by Data General were 16-bit minicomputer released in early 1974 and sold until 1988. The Eclipse was based on many of the same concepts as the Data General Nova, but included support for virtual memory and multitasking more suitable to the small office than the lab....
, which was similar in most ways but added virtual memory
Virtual memory

Virtual memory is a computer system technique which gives an application program the impression that it has contiguous working memory , while in fact it may be physically fragmented and may even overflow on to disk storage....
 support and other features required by modern operating system
Operating system

An operating system is an interface between hardware and applications; it is responsible for the management and coordination of activities and the sharing of the limited resources of the computer....
s.

History
deCastro and the Nova’s origin

Edson deCastro was the Product Manager at Digital Equipment Corporation (DEC)
Digital Equipment Corporation

Digital Equipment Corporation was a pioneering United States company in the computer industry. It is often referred to within the computing industry as DEC ....
 of their pioneering PDP-8
PDP-8

The PDP-8 was the first successful commercial minicomputer, produced by Digital Equipment Corporation in the 1960s. DEC introduced it on 22 March 1965, and sold more than 50,000 systems, the most of any computer up to that date....
, a 12-bit computer generally considered by most to be the first true minicomputer.






Discussion
Ask a question about 'Data General Nova'
Start a new discussion about 'Data General Nova'
Answer questions from other users
Full Discussion Forum



Encyclopedia


The Data General Nova was a popular 16-bit
16-bit

16-bit architectureThe HP 2100#Descendants and variants , introduced in 1975, was the world's first 16-bit microprocessor.Prominent 16-bit processors include the PDP-11, Intel 8086, Intel 80286 and the WDC 65C816....
 minicomputer
Minicomputer

A minicomputer is a class of multi-user computers that lies in the middle range of the computing spectrum, in between the largest multi-user systems and the smallest single-user systems ....
 built by the United States company Data General
Data General

Data General was one of the first minicomputer firms from the late 1960s. Three of the four founders were former employees of Digital Equipment Corporation....
 starting in 1969. The Nova was packaged into a single rack mount case and had enough power to do most simple computing tasks. The Nova became popular in science laboratories around the world, and eventually 50,000 units were sold. It was followed by the Data General Eclipse
Data General Eclipse

The Data General Eclipse line of computer by Data General were 16-bit minicomputer released in early 1974 and sold until 1988. The Eclipse was based on many of the same concepts as the Data General Nova, but included support for virtual memory and multitasking more suitable to the small office than the lab....
, which was similar in most ways but added virtual memory
Virtual memory

Virtual memory is a computer system technique which gives an application program the impression that it has contiguous working memory , while in fact it may be physically fragmented and may even overflow on to disk storage....
 support and other features required by modern operating system
Operating system

An operating system is an interface between hardware and applications; it is responsible for the management and coordination of activities and the sharing of the limited resources of the computer....
s.

History


deCastro and the Nova’s origin

Edson deCastro was the Product Manager at Digital Equipment Corporation (DEC)
Digital Equipment Corporation

Digital Equipment Corporation was a pioneering United States company in the computer industry. It is often referred to within the computing industry as DEC ....
 of their pioneering PDP-8
PDP-8

The PDP-8 was the first successful commercial minicomputer, produced by Digital Equipment Corporation in the 1960s. DEC introduced it on 22 March 1965, and sold more than 50,000 systems, the most of any computer up to that date....
, a 12-bit computer generally considered by most to be the first true minicomputer. DeCastro was convinced, however, that it was possible to improve upon the PDP-8 by building a 16-bit minicomputer on a single board. Ken Olsen
Ken Olsen

Kenneth Harry Olsen is an American engineer who co-founded Digital Equipment Corporation in 1957 with colleague Harlan Anderson and venture capital provided by Georges Doriot's American Research and Development Corporation....
 was not supportive of this project, so deCastro left DEC along with another hardware engineer, Richard Sogge, and a software engineer, Henry Burkhardt III
Henry Burkhardt III

Henry Burkhardt III was born in Ann Arbor, Michigan, grew up in South Hadley, Massachusetts, and was schooled there. He graduated from Phillips Exeter Academy and attended Princeton University He began his career as a programmer at Digital Equipment Corporation....
, to found Data General
Data General

Data General was one of the first minicomputer firms from the late 1960s. Three of the four founders were former employees of Digital Equipment Corporation....
 (DG) in 1968. The fourth founder, Herbert Richman, had been a salesman for Fairchild Semiconductor
Fairchild Semiconductor

Present day Fairchild Semiconductor International, Inc. is a spin-off company resulting from reconstitution of assets in National Semiconductor....
 and knew the others through his contacts with Digital Equipment.

The next year DG released the 16-bit Nova at a base price of US$3,995, advertising it as "the best small computer in the world." The basic model was not very useful out of the box
Out of the Box

Out of the Box was a Disney Channel show for kids aged 3-8, that took place in a Playhouse made of boxes, where two hosts, Tony James and Vivian Bayubay , made crafts, sang songs, acted out plays, and played games with the neighborhood children....
, and adding RAM in the form of core memory typically brought the price up to $7,995.

In 1969, Data General
Data General

Data General was one of the first minicomputer firms from the late 1960s. Three of the four founders were former employees of Digital Equipment Corporation....
 shipped a total of 50,000 Novas at $8000 each. The Nova was one of the first 16-bit
16-bit

16-bit architectureThe HP 2100#Descendants and variants , introduced in 1975, was the world's first 16-bit microprocessor.Prominent 16-bit processors include the PDP-11, Intel 8086, Intel 80286 and the WDC 65C816....
 minicomputers and led the way toward word
Word (computer science)

In computing, "word" is a term for the natural unit of data used by a particular computer design. A word is simply a fixed-sized group of bits that are handled together by the machine....
 lengths that were multiples of the 8-bit
8-bit

Eight-bit CPUs normally use an 8-bit data bus and a 16-bit address bus which means that their address space is limited to 64 KBs. This is not a "natural law", however, so there are exceptions....
 byte
Byte

A byte is a basic unit of measurement of Computer storage in computer science. In many computer architectures it is a Byte addressing memory address space....
. It was first to employ medium-scale integration (MSI) circuits from Fairchild Semiconductor
Fairchild Semiconductor

Present day Fairchild Semiconductor International, Inc. is a spin-off company resulting from reconstitution of assets in National Semiconductor....
, with subsequent models using large-scale integrated (LSI) circuits. Also notable was that in later models the entire central processor
Central processing unit

A central processing unit is an electronic circuit that can execute computer programs. This broad definition can easily be applied to many early computers that existed long before the term "CPU" ever came into widespread usage....
 was contained on one printed circuit board
Printed circuit board

A printed circuit board, or PCB, is used to mechanically support and electrically connect electronic components using Conductor pathways, or signal traces, industrial etchinged from copper sheets laminated onto a non-conductive substrate....
.

The Nova’s biggest competition was from the new DEC PDP-11
PDP-11

The PDP-11 was a series of 16-bit minicomputers sold by Digital Equipment Corporation from 1970 into the 1990s. Though not explicitly conceived as successor to DEC's PDP-8 computer in the Programmed Data Processor series of computers , the PDP-11 replaced the PDP-8 in many Real-time computing....
 computer series, and to a lesser extent the older DEC PDP-8
PDP-8

The PDP-8 was the first successful commercial minicomputer, produced by Digital Equipment Corporation in the 1960s. DEC introduced it on 22 March 1965, and sold more than 50,000 systems, the most of any computer up to that date....
 systems. It has been said that the Nova was pretty crude compared to its competitors; but it was quite effective and very fast for its day, at least at its low-cost end of the market.

Besides offering 16 bits compared to the 12 bits of the PDP-8
PDP-8

The PDP-8 was the first successful commercial minicomputer, produced by Digital Equipment Corporation in the 1960s. DEC introduced it on 22 March 1965, and sold more than 50,000 systems, the most of any computer up to that date....
, another big innovation of the Nova was in packaging. The original Nova CPU was built on only two large 15×15 inch (38×38 cm) printed circuit board
Printed circuit board

A printed circuit board, or PCB, is used to mechanically support and electrically connect electronic components using Conductor pathways, or signal traces, industrial etchinged from copper sheets laminated onto a non-conductive substrate....
s, which could be run off on an assembly line with no manual wiring required. This greatly reduced costs over the rival PDP-8 and PDP-8/I, which consisted of many smaller boards that had to be wired together. The larger-board construction also made the Nova more reliable, which made it especially attractive for industrial or lab settings.

A further improvement on the Nova design followed the next year, the SuperNOVA. The SuperNOVA included a number of improvements that dramatically improved performance over the original. This included the use of ROM
Read-only memory

Read-only memory is a class of computer storage media used in computers and other electronic devices. Because data stored in ROM cannot be modified , it is mainly used to distribute firmware ....
 for library software that could be run much faster than the same code in the normal core memory, due to the latter’s need to be written immediately after being read. Additionally the system included a new set of core with an 800 ns cycle time, faster than the original’s 1200 ns version. Finally the SuperNOVA also replaced the earlier model’s 4-bits-at-a-time math unit with a new 16-bit parallel version, speeding math by up to four times.

Soon after the introduction of the SuperNOVA, the SuperNOVA SC was introduced, featuring semiconductor memory in place of core. The much higher performance memory allowed the CPU, which was synchronous with memory, to be further increased in speed to run at a 300 nanosecond cycle time (3.3 MHz), which made it the fastest minicomputer for over a decade following its introduction.

Later versions

Further improvements in the line followed in 1970/1 with a pair of machines that replaced the Nova/SuperNOVA, the Nova 1200 and Nova 800 series. The 1200 used the original’s slower 1200ns core while the 800 featured the SuperNOVA’s 800ns core, explaining the somewhat confusing naming where the lower number represents the faster machine. Like the earlier models, the 1200 used a 4-bit math unit while the 800 used the SuperNOVA’s 16-bit unit. Both models were offered in a variety of cases, the 1200 with seven slots, the 1210 with four and the 1220 with fourteen. The 840, first offered in 1973, also included a new paged memory system allowing for up to 17-bit addresses. An index offset the base address into the larger 128 kWord memory. Actually installing this much memory required considerable space, the 840 shipped in a large 14-slot case.

The next version was the Nova 2, with the first versions shipping in 1973. The Nova 2 was essentially a simplified version of the earlier machines as increasing chip densities allowed the CPU to be reduced in size. While the SuperNOVA used three 15?x15? boards to implement the CPU and its memory, the Nova 2 fit all of this onto a single board. ROM was used to store the boot code, which was then copied into core when the “program load” switch was flipped. Versions were available with four, seven and ten slots.

Dg Nova3
The Nova 3 of 1975 added two more registers, used to control access to a built-in stack. The processor was also re-implemented using TTL components, further increasing the performance of the system. The Nova 3 was offered in four slot (the Nova 3/4) and twelve slot (the Nova 3/12) versions.

It appears that Data General originally intended the Nova 3 to be the last of its line, planning to replace the Nova with the later Eclipse machines. However continued demand led to a Nova 4 machine, this time based on four AMD 2901 bit-slice ALU
Arithmetic logic unit

In computing, an arithmetic logic unit is a digital circuit that performs arithmetic and logicaloperations. The ALU is a fundamental building block of the central processing unit of a computer, and even the simplest microprocessors contain one for purposes such as maintaining timers....
s. This machine was designed from the start to be both the Nova 4 and the Eclipse S/140, with different microcode
Microcode

Microcode is a layer of lowest-level instructions involved in the implementation of machine code instructions in many computers and other processors; it resides in a special high-speed memory and translates machine instructions into sequences of detailed circuit-level operations....
 for each. A floating-point co-processor was also available, taking up a separate slot. An additional option allowed for memory mapping, allowing programs to access up to 128 kwords of memory using bank switching
Bank switching

Bank switching was a technique common in 8-bit microcomputer systems, to increase the amount of addressable random-access memory and read-only memory without extending the address bus....
. Unlike the earlier machines, the Nova 4 did not include a front panel console
Front panel

A front panel was used on early electronic computers to display and allow the alteration of the state of the machine's internal CPU register and computer memory....
 and instead relied on the terminal
Terminal (electronics)

A terminal is a conductive device for joining electrical circuits together. The connection may be temporary, as for portable equipment, or may require a tool for assembly and removal, or may be a permanent electrical joint between two wires or devices....
 to emulate a console when needed. There were three different versions of the Nova 4, the Nova 4/C, and the Nova 4/S and Nova 4/X. The Nova 4/C was a single board implementation that included all of the memory (16 or 32 K words) on board. The Nova 4/S and 4/X used separate memory boards. The Nova 4/X had the on board Memory Mapping Unit (MMU) enabled to allow up to 128 Kwords of memory to be used (the MMU actually was on the Nova 4/S, but was disabled by firmware). Both the 4/S and the 4/X included a “prefetcher” to increase performance by fetching up to two instructions from memory before they were needed.

microNOVA

Data General also produced a series of single-chip implementations of the Nova processor as the microNOVA. Changes to the bus architecture limited speed dramatically, to the point where it was about one-half the speed of the original Nova. The original microNOVA with the “mN601” processor shipped in 1977. It was followed by the microNOVA MP/100 in 1979, which reduced the CPU to a single VLSI chip, the mN602. A larger version was also offered as the microNOVA MP/200, shipping the same year.

The microNOVA was later re-packaged in a PC-style case with two floppy disk
Floppy disk

A floppy disk is a data storage medium that is composed of a disk of thin, flexible magnetic storage medium encased in a square or rectangle plastic shell....
s as the Enterprise. Enterprise shipped in 1981, running RDOS
RDOS

RDOS, or the Real-time Disk Operating System, was a Real-time operating system operating system released in 1972 for the popular Data General Data General Nova and Data General Eclipse minicomputer....
, but the introduction of the IBM PC
IBM PC

The IBM Personal Computer, commonly known as the IBM PC, is the original version and progenitor of the IBM PC compatible hardware platform ....
 the same year made most other machines disappear under the radar.

Nova’s legacy

The Nova influenced the design of both the Xerox Alto
Xerox Alto

The Xerox Alto was an early personal computer developed at Xerox PARC in 1973. It was the first computer to use the desktop metaphor and graphical user interface ....
 (1973) and Apple I
Apple I

The Apple I, also known as the Apple-1, was an early personal computer. They were designed and Handicraft by Steve Wozniak. Wozniak's friend Steve Jobs had the idea of selling the computer....
 (1976) computers, and its architecture was the basis for the Computervision
Computervision

Computervision, Inc. was an early pioneer in turnkey Computer Aided Design and Manufacturing company. Computervision was founded in 1969 by Marty Allen and Philippe Villers, and headquartered in Massachusetts, USA....
 CGP (Computervision Graphics Processor) series. Its external design has been reported to be the direct inspiration for the front panel of the MITS Altair
Altair 8800

The Micro Instrumentation and Telemetry Systems Altair 8800 was a microcomputer design from 1975, based on the Intel 8080 central processing unit and sold as a mail-order kit through advertisements in Popular Electronics, Radio-Electronics and other hobbyist magazines....
 (1975) microcomputer.

Data General followed up on the success of the original Nova with a series of faster designs. The Eclipse family of systems was later introduced with an extended upwardly compatible instruction set, and the MV-series further extended the Eclipse into a 32-bit architecture to compete with the DEC VAX
VAX

VAX was an instruction set architecture developed by Digital Equipment Corporation in the mid-1970s. A 32-bit complex instruction set computer ISA, it was designed to extend or replace DEC's various Programmed Data Processor ISAs....
. The development of the MV-series was documented in Tracy Kidder
Tracy Kidder

Tracy Kidder is an American author and Vietnam War veteran. Kidder may be best known, especially within the computing community, for his Pulitzer Prize-winning The Soul of a New Machine, an account of the development of Data General's Data_General_Eclipse minicomputer....
’s popular 1981 book, The Soul of a New Machine
The Soul of a New Machine

The Soul of a New Machine is a non-fiction book, written by Tracy Kidder. It was published in 1981 and won a Pulitzer Prize and an National Book Award....
. Data General itself would later evolve into a vendor of Intel processor-based servers and storage arrays, eventually being purchased by EMC
EMC Corporation

EMC Corporation is a United States Fortune 500 and S&P 500 provider of information infrastructure systems, software and services. It is headquartered in Hopkinton, Massachusetts, USA....
.

there are still 16-bit Novas and Eclipse
Data General Eclipse

The Data General Eclipse line of computer by Data General were 16-bit minicomputer released in early 1974 and sold until 1988. The Eclipse was based on many of the same concepts as the Data General Nova, but included support for virtual memory and multitasking more suitable to the small office than the lab....
s running in a variety of applications worldwide, including air traffic control. There is a diverse but ardent group of people worldwide who restore and preserve legacy 16-bit Data General systems.

Technical description


Processor design
Dg Pcb
The Nova, like the PDP-8
PDP-8

The PDP-8 was the first successful commercial minicomputer, produced by Digital Equipment Corporation in the 1960s. DEC introduced it on 22 March 1965, and sold more than 50,000 systems, the most of any computer up to that date....
 was an accumulator-based architecture. It had four 16-bit accumulator
Accumulator (computing)

In a computer's central processing unit , an accumulator is a processor register in which intermediate arithmetic logic unit results are stored....
 registers, of which two (2 and 3) could be used as index register
Index register

An index register in a computer's central processing unit is a processor register used for modifying operand addresses during the run of a program, typically for doing vector/array operations....
s. There was a 15-bit program counter
Program counter

The program counter, or PC is a processor register that indicates where the computer is in its instruction sequence. Depending on the details of the particular computer, the PC holds either the address of the instruction being executed, or the address of the next instruction to be executed....
 and a single-bit carry register. As with the PDP-8, current + zero page
Zero page

The zero page is the series of memory addresses at the absolute beginning of a computer's address space; that is, the page whose starting address is zero....
 addressing was central. There was no stack register
Stack register

A stack register is a computer central processor register whose purpose is to keep track of a call stack. On an accumulator-based architecture machine, this may be a dedicated register such as SP on an Intel x86 machine....
, but later Eclipse designs would utilize a dedicated hardware memory address for this function.

The earliest models of the Nova processed math serially in 4-bit packets. A year after its introduction the processor was upgraded to use a full 16-bit parallel math unit, this design being referred to as the SuperNova. Future versions of the system added a stack unit and hardware multiply/divide.

The Nova 4 / Eclipse S/140 was based on four AMD 2901 bit-slice ALUs, with microcode
Microcode

Microcode is a layer of lowest-level instructions involved in the implementation of machine code instructions in many computers and other processors; it resides in a special high-speed memory and translates machine instructions into sequences of detailed circuit-level operations....
 in read-only memory
Read-only memory

Read-only memory is a class of computer storage media used in computers and other electronic devices. Because data stored in ROM cannot be modified , it is mainly used to distribute firmware ....
, and was the first Nova designed for DRAM
Dram

Dram or DRAM may refer to:* Dram , an imperial unit of mass and volume* Armenian dram, a monetary unit* Dynamic random access memory* Database of Recorded American Music...
 main memory only, without provision for magnetic core memory
Magnetic core memory

Magnetic core memory, or ferrite-core memory, is an early form of random access computer memory. It uses small magnetic ceramic rings, the cores, through which wires are threaded to store information via the Polarity of the magnetic field they contain....
.

Memory and I/O
The first models were available with 4K
K

K is the eleventh letter of the modern Latin alphabet. Its name in English language is spelled kay ....
 word
Word (computer science)

In computing, "word" is a term for the natural unit of data used by a particular computer design. A word is simply a fixed-sized group of bits that are handled together by the machine....
s of magnetic core memory
Magnetic core memory

Magnetic core memory, or ferrite-core memory, is an early form of random access computer memory. It uses small magnetic ceramic rings, the cores, through which wires are threaded to store information via the Polarity of the magnetic field they contain....
 as an option, one that practically everyone had to buy, bringing the system cost up to $7,995. Even here DG managed to innovate, packing several planes of very small core and the corresponding support electronics onto a single standard 15 x board. Up to 32K of such core RAM
Random-access memory

Random-Assess Memory Card is a form of computer data storage. Today it takes the form of integrated circuits that allows the stored data to be accessed in any order ....
 could be supported in one external expansion box. Semiconductor
Semiconductor

A semiconductor is a material that has electrical conductivity between those of a Electrical conductor and an electrical insulation; it can vary over that wide range either permanently or dynamically....
 ROM
Read-only memory

Read-only memory is a class of computer storage media used in computers and other electronic devices. Because data stored in ROM cannot be modified , it is mainly used to distribute firmware ....
 was already available at the time, and RAM-less systems (i.e. with ROM only) became popular in many industrial settings. The original Nova machines ran at approximately 0.2 MHz, but its SuperNova was designed to run at up to 3 MHz when used with special semiconductor main memory.

The standardized backplane
Backplane

A backplane is a circuit board that connects several electrical connector in parallel to each other, so that each pin of each connector is linked to the same relative pin of all the other connectors, forming a computer bus....
 and I/O
Input/output

In computing, input/output, or I/O, refers to the communication between an information processing system , and the outside world ? possibly a human, or another information processing system....
 signals created a simple, efficient I/O design that made interfacing programmed I/O and Data Channel devices to the Nova simple compared to competitive machines. In addition to its dedicated I/O bus structure, the Nova backplane had wire wrap
Wire wrap

Wire wrap is a technique for constructing small numbers of complex electronics assemblies. It is an alternative technique to the use of small runs of printed circuit boards, and has the advantage of being easily changed for prototyping work....
 pins that could be used for non-standard connectors or other special purposes.

Programming model
The instruction format
Instruction set

An instruction set is a list of all the instruction , and all their variations, that a processor can execute.Instructions include:* Arithmetic such as add and subtract...
 could be broadly categorized into one of three functions: 1) register-to-register manipulation, 2) memory reference, and 3) input/output. Each instruction was contained in one word. The register-to-register manipulation was almost RISC-like in its bit-efficiency; and an instruction that manipulated register data could also perform tests, shifts and even elect to discard the result. Hardware options included an integer multiply and divide unit, a floating-point unit (single and double precision), and memory management
Memory management

Memory management is the act of managing computer memory. In its simpler forms, this involves providing ways to allocate portions of memory to programs at their request, and freeing it for reuse when no longer needed....
.

Dg Papertapes
The earliest Nova came with a BASIC interpreter on paper tape. As the product grew, Data General developed many languages for the Nova computers, running under a range of consistent operating systems. FORTRAN IV, ALGOL
Algol

Algol , known colloquially as the Demon Star, is a bright star in the constellation Perseus . It is one of the best known eclipsing binary, the first such star to be discovered, and also one of the first variable stars to be discovered....
, Extended BASIC, Data General Business Basic
Data General Business Basic

Data General Business Basic was a BASIC programming language interpreter developed by Data General for their Data General Nova minicomputer in the 1970s, and later ported to the Data General Eclipse MV and Data General AViiON computers....
, Interactive COBOL
COBOL

COBOL is one of the oldest programming languages still in active use. Its name is an acronym for COmmon Business-Oriented Language, defining its primary domain in business, finance, and administrative systems for companies and governments....
, and several assemblers were available from Data General. Third party vendors and the user community expanded the offerings with Forth, Lisp
Lisp programming language

Lisp is a family of computer programming languages with a long history and a distinctive, fully parenthesized syntax. Originally specified in 1958, Lisp is the second-oldest high-level programming language in widespread use today; only Fortran is older....
, BCPL
BCPL

BCPL is a computer programming language designed by Martin Richards of the University of Cambridge in 1966....
, C
C (programming language)

C is a general-purpose computer programming language originally developed in 1972 by Dennis Ritchie at the Bell Telephone Laboratories to implement the Unix operating system....
, Algol
Algol

Algol , known colloquially as the Demon Star, is a bright star in the constellation Perseus . It is one of the best known eclipsing binary, the first such star to be discovered, and also one of the first variable stars to be discovered....
, and other proprietary versions of COBOL
COBOL

COBOL is one of the oldest programming languages still in active use. Its name is an acronym for COmmon Business-Oriented Language, defining its primary domain in business, finance, and administrative systems for companies and governments....
 and BASIC.

Assembly language examples


Hello world program

This is a minimal programming example in Nova assembly language. It is designed to run under RDOS
RDOS

RDOS, or the Real-time Disk Operating System, was a Real-time operating system operating system released in 1972 for the popular Data General Data General Nova and Data General Eclipse minicomputer....
 and prints the string “Hello, world.
Hello world program

A "Hello World" program is a computer program that prints out "Hello world!" on a display device. It is used in many introductory tutorials for teaching a programming language....
” on the console.

; a "hello, world" program for Nova running RDOS, by Toby Thain ; uses PCHAR system call .titl hello .nrel .ent start

start: dochar: lda 0,@pmsg ; load ac0 with next character, mov# 0,0,snr ; test ac0; skip if nonzero (don't load result) jmp done .systm .pchar ; print first jmp er ; skipped if OK movs 0,0 ; swap bytes .systm .pchar ; print second jmp er ; skipped if OK isz pmsg ; point to next character jmp dochar ; go around again

done: .systm ; normal exit .rtn er: .systm ; error exit .ertn halt

pmsg: .+1 ; pointer to first character of string ; note bytes are packed right-to-left by default .txt /Hello, world.<15><12>/ ; that's CR LF 0 ; flag word to end string

.end start

16-bit multiplication

Basic models of the Nova came without built-in hardware multiply and divide capability, to keep prices competitive. The following routine multiplies two 16-bit words to produce a 16-bit word result (overflow is ignored). It demonstrates combined use of ALU op, shift, and test (skip). Note that when this routine is called by jsr, AC3 holds the return address
Return address

In postal mail, a return address is an explicit inclusion of the address of the person sending the message. It provides the recipient with a means to determine how to respond to the sender of the message if needed....
. This is used by the return instruction jmp 0,3. An idiomatic way to clear an accumulator is sub 0,0. Other single instructions can be arranged to load a specific set of useful constants (e.g. -2, -1, or +1).

mpy: ; multiply AC0 <- AC1 * AC2, by Toby Thain

sub 0,0 ; clear result mbit: movzr 1,1,szc ; shift multiplier, test lsb add 2,0 ; 1: add multiplicand movzl 2,2,szr ; shift and test for zero jmp mbit ; not zero, do another bit jmp 0,3 ; return

Binary print accumulator

The following routine prints the value of AC1 as a 16 digit binary number, on the RDOS console. It reveals further quirks of the Nova instruction set. For instance, there is no instruction to load an arbitrary “immediate” value into an accumulator (although memory reference instructions do encode such a value to form an effective address). Accumulators must generally be loaded from initialised memory locations (e.g. n16). Other contemporary machines such as the PDP-11
PDP-11

The PDP-11 was a series of 16-bit minicomputers sold by Digital Equipment Corporation from 1970 into the 1990s. Though not explicitly conceived as successor to DEC's PDP-8 computer in the Programmed Data Processor series of computers , the PDP-11 replaced the PDP-8 in many Real-time computing....
, and practically all modern architectures, allow for immediate loads, although many such as ARM
ARM architecture

The ARM architecture is a 32-bit RISC central processing unit architecture developed by ARM Limited that is widely used in embedded system designs....
 restrict the range of values that can be loaded immediately.

Because the RDOS .systm call macro implements a jsr, AC3 is overwritten by the return address for the .pchar function. Therefore a temporary location is needed to preserve the return address of the caller of this function. For a recursive or otherwise re-entrant routine, a stack, hardware if available, software if not, must be used instead. The return instruction becomes jmp @ retrn which exploits the Nova's indirect addressing mode to load the return PC.

The constant definitions at the end show two assembler features: the assembler radix is octal
Octal

The octal numeral system, or oct for short, is the radix-8 number system, and uses the digits 0 to 7. Numerals can be made from Binary numeral system numerals by grouping consecutive digits into groups of three ....
 by default (20 = sixteen), and character constants could be encoded as e.g. "0.

pbin: ; print AC1 on console as 16 binary digits, by Toby Thain

sta 3,retrn ; save return addr lda 2,n16 ; set up bit counter loop: lda 0,chr0 ; load ASCII '0' movzl 1,1,szc ; get next bit in carry inc 0,0 ; bump to '1' .systm .pchar ; AC0-2 preserved jmp err ; if error inc 2,2,szr ; bump counter jmp loop ; loop again if not zero lda 0,spc ; output a space .systm .pchar jmp err ; if error jmp @ retrn

spc: " ;that's a space chr0: "0 n16: -20 retrn: 0

Emulating a Data General Nova


Nova assembly language programs can be run under Bob Supnik’s SIMH
SIMH

SIMH is a highly portable, multi-system emulator which runs on Microsoft_Windows, Linux, Mac OS X, FreeBSD, OpenBSD, NetBSD, OpenVMS, and other operating systems....
 emulator, in RDOS. Of the above examples, only Hello, world is a complete program. It includes the necessary directives for a successful assembly and generation of a runnable program.

Stepwise instructions

Start the Nova emulation and boot RDOS following the instructions under “Nova and Eclipse RDOS” in the file src/simh_swre.txt of the simh distribution. After booting, RDOS’ command prompt, R, should appear on the screen.

  • Before the first assembly on a newly setup RDOS system, the macro assembler’s default symbol definitions need to be configured using the following command: mac/s nbid osid nsid paru
  • Create the assembly source file under RDOS: xfer/a $tti test.sr (the xfer command will accept input at the console and copy it to a disk file named test.sr; after entering the command, copy and paste (or type in) a complete assembly language program, and finish with control-Z
    Control-Z

    In computing, control-Z is a control character in ASCII code, also known as the substitute character. It is generated by pressing the key while holding down the key on a computer keyboard....
    ).
  • Next, run the macro assembler on test.sr to create the object file test.rb: mac/l test (the /l [slash-ell] option enables the listing file test.ls, which can be copied to the console using the command type test.ls).
  • The relocatable loader, rldr, takes the object file and creates the executable test.sv : rldr test
  • To run the program, type test


Before going further with serious experimentation, it can be convenient to check one’s programs at the PC using a suitable cross-assembler, such as the portable PDP-8/DG Nova cross-assembler listed in the External links section, before attempting execution in the RDOS environment.

RDOS hints

  • To have a directory listing of all files with basename test, type list test.- (note the hyphen, RDOS’ wildcard character
    Wildcard character

    The term wildcard character has the following meanings:...
    )
  • Delete files with delete (this might be needed because xfer won’t replace an existing file)
  • A running program can usually be interrupted with Control-A
  • To exit RDOS, type release %mdir%
  • Quit simh at its prompt with q


External links

  • – Includes a basic Nova emulator in a user-modifiable package
  • – Attempts to archive everything DG plus provide free and commercial products
  • – Describes the Nova instruction set in detail