HOME





Small-C
Small-C is both a subset of the C programming language, suitable for resource-limited microcomputers and embedded systems, and an implementation of that subset. Originally valuable as an early compiler for microcomputer systems available during the late 1970s and early 1980s, the implementation has also been useful as an example simple enough for teaching purposes. The original compiler, written in Small-C for the Intel 8080 by Ron Cain, appeared in the May 1980 issue of '' Dr. Dobb's Journal''. James E. Hendrix improved and extended the original compiler, and wrote ''The Small-C Handbook''. Ron bootstrapped Small-C on the SRI International PDP 11/45 Unix system with an account provided by John Bass for Small C development. The provided source code was released with management permission into the public domain. Small-C was important for tiny computers in a manner somewhat analogous to the importance of GCC for larger computers. Just like its Unix counterparts, the compiler gen ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Retargetable Compiler
In software engineering, retargeting is an attribute of software development tools that have been specifically designed to generate code for more than one computing platform. Compilers A retargetable compiler is a compiler that has been designed to be relatively easy to modify to generate code for different CPU instruction set architectures. The history of this idea dates back to the 1950s when UNCOL was proposed as the universal intermediate language. The PascaP-compileris an example of an early widely used retargetable compiler. The cost of producing a retargetable compiler that generates code of similar quality to a non-retargetable compiler (i.e., one designed to only ever produce code for a single processor) is higher because it is not possible to make use of cpu specific details throughout all phases of compilation. The benefits of a retargetable compiler is that the total cost over multiple CPUs is much lower than the combined cost of many individual non-targetable com ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

BBC Micro
The BBC Microcomputer System, or BBC Micro, is a family of microcomputers developed and manufactured by Acorn Computers in the early 1980s as part of the BBC's Computer Literacy Project. Launched in December 1981, it was showcased across several educational BBC television programmes, such as ''The Computer Programme'' (1982), ''Making the Most of the Micro'' and ''Computers in Control'' (both 1983), and ''Micro Live'' (1985). Created in response to the BBC's call for bids for a microcomputer to complement its broadcasts and printed material, Acorn secured the contract with its rapidly prototyped “Proton” system, which was subsequently renamed the BBC Micro. Although it was announced towards the end of 1981, production issues initially delayed the fulfilment of many orders, causing deliveries to spill over into 1982. Nicknamed the “Beeb”, it soon became a fixture in British schools, advancing the BBC’s goal of improving computer literacy. Renowned for its strong build q ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Deep Blue C
Deep Blue C is a C programming language compiler for Atari 8-bit computers distributed by the Atari Program Exchange (APX). Description Deep Blue C is based on Ron Cain's public domain Small-C compiler, a subset of the C programming language, modified by John Howard Palevich to run on Atari 8-bit hardware. Palevich also wrote ''Dandy'' for APX. The syntax supported by ''Deep Blue C'' is close to that of ANSI C with significant limitations. The compiler creates Intel 8080 binary code which is executed by an 8080 virtual machine as p-code. The user must supply a source code editor, but included libraries provide and other I/O routines and video graphics, including player/missile graphics. The source code to the compiler was sold separately by APX as Deep Blue Secrets. Limitations As a proper subset of V7 Unix C, Deep Blue C code that does not use Atari 8-bit features can be compiled on other systems with the full language. The following language constructs are not supported: ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Cc65
cc65 is a cross development package for 6502 and 65C02 targets, including a macro assembler, a C cross compiler, linker, librarian and several other tools. Overview cc65 is based on a native C compiler that was originally adapted for the Atari 8-bit computers by John R. Dunning in 1989, which originated as a Small-C descendant. It has several extensions, and some of the limits of the original Small C compiler are gone. The toolkit has largely been expanded by Ullrich von Bassewitz and other contributors. The actual cc65 compiler, a complete set of binary tools (assembler, linker, etc.) and runtime library are under a license identical to zlib's. The compiler itself comes close to ANSI C compatibility, while C library features depend on the target platform's hardware. stdio is supported on many platforms, as is Borland-style screen handling. GEOS is also supported on the Commodore 64 and the Apple II. The library supports many of the Commodore platforms (Commodore 64 ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  




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 a collection of software development tools that targets the 8080 and Z80 families of machines. It allows the development of programs in C, assembly language, or any mixture. What makes z88dk unique is its ease of use, built-in support for many Z80 machines, and its extensive set of assembly language library subroutines implementing the C standard and extensions. It has been used for many software and hardware projects, notably the REX DK (targeted to the REX 6000 platform) and the S1 SDK (targeted to the S1 MP3 Player) teams. The compiler is highly portable, and is known to run on AmigaOS, BeOS, HP-UX 9, Linux, BSD, Mac OS X, Solaris, Win64, Win32, Win16, and MS-DOS. Supported target platforms As of the Z88DK supports the following target platforms: * Amstrad CPC * Amstrad NC100 * Amstrad ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Tiny C Compiler
The Tiny C Compiler, TCC, tCc, or TinyCC is a x86 (32-bits), X86-64 and ARM processor C compiler initially written by Fabrice Bellard. It is designed to work for slower computers with little disk space (e.g. on rescue disks). Windows operating system support was added in version 0.9.23 (17 June 2005). TCC is distributed under the GNU Lesser General Public License. TCC claims to implement all of ANSI C (C89/C90), much of the C99 ISO standard, and many GNU C extensions including inline assembly. Features TCC has a number of features that differentiate it from other current C compilers: * Its small file size (about 100 KB for the x86 TCC executable) and memory footprint allow it to be used directly from a single 1.44 M floppy disk, such as a rescue disk. * TCC is intended to produce native x86, x86-64 and ARM code very quickly; according to Bellard, it compiles, assembles and links about nine times faster than GCC does. As of 2023, the "mob" development branch als ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


BDS C
BDS C (or the ''BD Software C Compiler'') is a compiler for a sizeable subset of the C programming language, that ran on and generated code for the Intel 8080 and Zilog Z80 processors. It was the first C compiler for CP/M. It was written by Leor Zolman and first released in 1979 when he was 20 years old. "BDS" stands for "Brain Damage Software." BDS C was popular and influential among CP/M users and developers. It ran much faster than other Z80-hosted compilers. It was possible to run BDS C on single-floppy machines with as little as 30K of RAM in comparison to most other commercial compilers which required many passes and the writing of intermediate files to disk. Weak points of BDS C were that the floating point math routines and the file access functions were incompatible with the C compiler used on UNIX, and that its relocatable object files were incompatible with the Microsoft MACRO-80 assembler, making it more difficult to integrate C code with assembly language. BDS C w ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Code Generation (compiler)
tuo.maxnam computing, code generation is part of the process chain of a compiler, in which an intermediate representation of source code is converted into a form (e.g., machine code) that can be readily executed by the target system. Sophisticated compilers typically perform multiple passes over various intermediate forms. This multi-stage process is used because many algorithms for code optimization are easier to apply one at a time, or because the input to one optimization relies on the completed processing performed by another optimization. This organization also facilitates the creation of a single compiler that can target multiple architectures, as only the last of the code generation stages (the ''backend'') needs to change from target to target. (For more information on compiler design, see Compiler.) The input to the code generator typically consists of a parse tree or an abstract syntax tree. The tree is converted into a linear sequence of instructions, usually in ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

C Programming Language Family
C, or c, is the third Letter (alphabet), letter of the Latin alphabet, used in the English alphabet, modern English alphabet, the alphabets of other western European languages and others worldwide. Its name in English is English alphabet#Letter names, ''cee'' (pronounced ), plural ''cees''. History "C" comes from the same letter as "G". The Semitic people, Semites named it gimel. The sign is possibly adapted from an Egyptian hieroglyphs, Egyptian hieroglyph for a Staff-sling, staff sling, which may have been the meaning of the name ''gimel''. Another possibility is that it depicted a camel, the Semitic name for which was ''gamal''. Barry B. Powell, a specialist in the history of writing, states "It is hard to imagine how gimel = "camel" can be derived from the picture of a camel (it may show his hump, or his head and neck!)". In the Etruscan language, plosive consonants had no contrastive phonation, voicing, so the Greek language, Greek 'Gamma, Γ' (Gamma) was adopted int ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Atari 8-bit Computers
The Atari 8-bit computers, formally launched as the Atari Home Computer System, are a series of home computers introduced by Atari, Inc., in 1979 with the Atari 400 and Atari 800. The architecture is designed around the 8-bit MOS Technology 6502 CPU and three custom coprocessors which provide support for sprites, smooth multidirectional scrolling, four channels of audio, and other features. The graphics and sound are more advanced than most of its contemporaries, and video games are a key part of the software library. The 1980 first-person space combat simulator ''Star Raiders'' is considered the platform's killer app. The Atari 800 was positioned as a high-end model and the 400 as more affordable. The 400 has a pressure-sensitive, spillproof membrane keyboard and initially shipped with a non-upgradable of RAM. The 800 has a conventional keyboard, a second cartridge slot, and allows easy RAM upgrades to 48K. Both use identical 6502 CPUs at ( for PAL versions) and coprocess ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Benchmark (computing)
In computing, a benchmark is the act of running a computer program, a set of programs, or other operations, in order to assess the relative performance of an object, normally by running a number of standard tests and trials against it. The term ''benchmark'' is also commonly utilized for the purposes of elaborately designed benchmarking programs themselves. Benchmarking is usually associated with assessing performance characteristics of computer hardware, for example, the floating point operation performance of a CPU, but there are circumstances when the technique is also applicable to software. Software benchmarks are, for example, run against compilers or database management systems (DBMS). Benchmarks provide a method of comparing the performance of various subsystems across different chip/system architectures. Benchmarking as a part of continuous integration is called Continuous Benchmarking. Purpose As computer architecture advanced, it became more difficult to compa ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]