Compilers, Interpreters and Assemblers

High Level Languages

Micro-C Compiler




Possibly the best known of my tools, Micro-C is a complete compiler and development package for the C programming language. Marketed mainly as a cross development tool, versions of the compiler have been ported to: 68HC08, 6809, 68HC11, 68HC12, 68HC16, 8051/52, 8080/85/Z80, 8086, 8096 and AVR processor families. In addition to this, I have created a complete toolset based around the C-FLEA, a tiny virtual 16-bit processor that I designed, and also a full featured PC development package. Almost all of my PC based code is developed using the PC version of Micro-C.
Micro-C has been used by thousands of registered customers worldwide, and there are many more using the PC development package which I made available as free software. It has received favorable reviews in technical magazines, appears in a number of books, and has been used by a couple of columnists as the main development tool for projects which they have published.


Forth

I have implemented a couple of different Forth systems, including standard Forth implementations on the 8080 and 8086 processor families, as well as a unique ultra-efficient Forth for the 6809 which compiles to directly executable machine code instead of the usual threaded code.


BASIC




Several implementations of Basic including a generic Basic written in C which can be compiled with my tools to run on many different platforms, a version for the 8080 that runs under my DMF operating system, a version for the 6809 that runs under my CUBIX system, and one of the earliest languages in my career, a tiny (3K) integer Basic for the Univeristy of New Brunswicks MicroComputer group.


CAM

This is a highly customized version of BASIC that I did to assist a developmentally handicapped child. It provides a large set of hardware control and interfaces to integrate sound and physical devices into the applications. Physical device included sound/speakers, buttons, switches, analog inputs/levers, magnetic position sensors, audio and video devices via InfraRed control, and household devices via X10 interface.


APL




Micro-APL is a subset APL interpreter that I created as one of the main interactive languages on my CUBIX 6809 operating system.


Scripting Languages

In the course of other work, I have developed many proprietary scripting languages used for automating other tasks. Some examples are: The scripts used in DESMO (DEbug Scripting MOnitor), and the communications control scripts used in my PC100 terminal program.


Terminal Control Language

In the course of my work with financial terminals, I have developed my own implementation of the Terminal Control Language used on Verifone terminals. I have developed a complete and functional implementation of the TCL interpreter, as well as a compiler to allow the use of symbols, conditionals and many other higher level constructs not supported by the Verifone tools.


Assemblers

This section describes a number of assemblers, cross assemblers and related tools that I have developed.

Cross Assemblers

These are full featured PC based cross assemblers, targeting a wide variety of processor families including: 6800, 6801/6803, 6805, 6502, 68HC08, 6809, 68HC11, 68HC12, 68HC16, 8048, 8051/52, 80C320, 8080/85, 8086, 80186, 8096, 8008, Z8, Z80, AVR, H8, ST7, 16C5x and C-FLEA.

Cross Disassemblers

I have implemented Cross Disassemblers for most of the above processors. These are "snart" disassemblers which can integrate user defined symbols, comments and memory block descriptions into the disassembly output, as well as automatically generate the initial symbol table by analysis of the program control structure and data references.

A.L.P.S.

Assembly Language Programming System was developed early in my career (late 70s). It is a complete editor/assembler/debugger and disassembler for the 8080 family of processors, which runs under both NorthStar DOS and my own DMF system.

6809 Assembler

This is a resident 6809 assembler written as part of my CUBIX 6809 disk operating system.

1802 Assembler

A cross assembler for the RCA 1802 processor, written in Fortran to run on the universities IBM mainframe in order to generate code for a Cosmac ELF computer.

Assembly Translator

This is a system which assists in the translation of source code written for one processor family to another by using pattern matching and lookup tables. It includes a compiler which can be used to define new CPU families/instruction sets and the translation rules between them, as well as the main program which performs the translation.

Universal Assembler

This is a system I wrote to automatically generate a working PC based cross assembler from an input source file describing the instruction set of the target processor. It consists of a Universal Assembler Compiler, which reads the instruction set definition and generates C source files containing code and data tables, as well as a number of modules which are linked with the output to produce the final executable assembler.

Macro Preprocessor

This is a preprocessor for assembly language source files which will give full MACRO and conditional capability to any assembler which does not inherently have these features.

Assembler Utilities

These include cross reference tools, source convertors (translate source code between popular formats eg: Intel .vs. Motorola) and other tools.

No comments:

Post a Comment

Labels

PROJECTS 8086 PIN CONFIGURATION 80X86 PROCESSORS TRANSDUCERS 8086 – ARCHITECTURE Hall-Effect Transducers INTEL 8085 OPTICAL MATERIALS BIPOLAR TRANSISTORS INTEL 8255 Optoelectronic Devices Thermistors thevenin's theorem MAXIMUM MODE CONFIGURATION OF 8086 SYSTEM ASSEMBLY LANGUAGE PROGRAMME OF 80X86 PROCESSORS POWER PLANT ENGINEERING PRIME MOVERS 8279 with 8085 MINIMUM MODE CONFIGURATION OF 8086 SYSTEM MISCELLANEOUS DEVICES MODERN ENGINEERING MATERIALS 8085 Processor- Q and A-1 BASIC CONCEPTS OF FLUID MECHANICS OSCILLATORS 8085 Processor- Q and A-2 Features of 8086 PUMPS AND TURBINES 8031/8051 MICROCONTROLLER Chemfet Transducers DIODES FIRST LAW OF THERMODYNAMICS METHOD OF STATEMENTS 8279 with 8086 HIGH VOLTAGE ENGINEERING OVERVOLATGES AND INSULATION COORDINATION Thermocouples 8251A to 8086 ARCHITECTURE OF 8031/8051 Angle-Beam Transducers DATA TRANSFER INSTRUCTIONS IN 8051/8031 INSTRUCTION SET FOR 8051/8031 INTEL 8279 KEYBOARD AND DISPLAY INTERFACES USING 8279 LOGICAL INSTRUCTIONS FOR 8051/8031 Photonic Transducers TECHNOLOGICAL TIPS THREE POINT STARTER 8257 with 8085 ARITHMETIC INSTRUCTIONS IN 8051/8031 LIGHTNING PHENOMENA Photoelectric Detectors Physical Strain Gage Transducers 8259 PROCESSOR APPLICATIONS OF HALL EFFECT BRANCHING INSTRUCTIONS FOR 8051/8031 CPU OF 8031/8051 Capacitive Transducers DECODER Electromagnetic Transducer Hall voltage INTEL 8051 MICROCONTROLLER INTEL 8251A Insulation Resistance Test PINS AND SIGNALS OF 8031/8051 Physical Transducers Resistive Transducer STARTERS Thermocouple Vacuum Gages USART-INTEL 8251A APPLICATIONs OF 8085 MICROPROCESSOR CAPACITANCE Data Transfer Instructions In 8086 Processors EARTH FAULT RELAY ELECTRIC MOTORS ELECTRICAL AND ELECTRONIC INSTRUMENTS ELECTRICAL BREAKDOWN IN GASES FIELD EFFECT TRANSISTOR (FET) INTEL 8257 IONIZATION AND DECAY PROCESSES Inductive Transducers Microprocessor and Microcontroller OVER CURRENT RELAY OVER CURRENT RELAY TESTING METHODS PhotoConductive Detectors PhotoVoltaic Detectors Registers Of 8051/8031 Microcontroller Testing Methods ADC INTERFACE AMPLIFIERS APPLICATIONS OF 8259 EARTH ELECTRODE RESISTANCE MEASUREMENT TESTING METHODS EARTH FAULT RELAY TESTING METHODS Electricity Ferrodynamic Wattmeter Fiber-Optic Transducers IC TESTER IC TESTER part-2 INTERRUPTS Intravascular imaging transducer LIGHTNING ARRESTERS MEASUREMENT SYSTEM Mechanical imaging transducers Mesh Current-2 Millman's Theorem NEGATIVE FEEDBACK Norton's Polarity Test Potentiometric transducers Ratio Test SERIAL DATA COMMUNICATION SFR OF 8051/8031 SOLIDS AND LIQUIDS Speed Control System 8085 Stepper Motor Control System Winding Resistance Test 20 MVA 6-digits 6-digits 7-segment LEDs 7-segment A-to-D A/D ADC ADVANTAGES OF CORONA ALTERNATOR BY POTIER & ASA METHOD ANALOG TO DIGITAL CONVERTER AUXILIARY TRANSFORMER AUXILIARY TRANSFORMER TESTING AUXILIARY TRANSFORMER TESTING METHODS Analog Devices A–D BERNOULLI’S PRINCIPLE BUS BAR BUS BAR TESTING Basic measuring circuits Bernoulli's Equation Bit Manipulation Instruction Buchholz relay test CORONA POWER LOSS CURRENT TRANSFORMER CURRENT TRANSFORMER TESTING Contact resistance test Current to voltage converter DAC INTERFACE DESCRIBE MULTIPLY-EXCITED Digital Storage Oscilloscope Display Driver Circuit E PROMER ELPLUS NT-111 EPROM AND STATIC RAM EXCITED MAGNETIC FIELD Electrical Machines II- Exp NO.1 Energy Meters FACTORS AFFECTING CORONA FLIP FLOPS Fluid Dynamics and Bernoulli's Equation Fluorescence Chemical Transducers Foil Strain Gages HALL EFFECT HIGH VOLTAGE ENGG HV test HYSTERESIS MOTOR Hall co-efficient Hall voltage and Hall Co-efficient High Voltage Insulator Coating Hot-wire anemometer How to Read a Capacitor? IC TESTER part-1 INSTRUMENT TRANSFORMERS Importance of Hall Effect Insulation resistance check Insulator Coating Knee point Test LEDs LEDs Display Driver LEDs Display Driver Circuit LM35 LOGIC CONTROLLER LPT LPT PORT LPT PORT EXPANDER LPT PORT LPT PORT EXTENDER Life Gone? MAGNETIC FIELD MAGNETIC FIELD SYSTEMS METHOD OF STATEMENT FOR TRANSFORMER STABILITY TEST METHODS OF REDUCING CORONA EFFECT MULTIPLY-EXCITED MULTIPLY-EXCITED MAGNETIC FIELD SYSTEMS Mesh Current Mesh Current-1 Moving Iron Instruments Multiplexing Network Theorems Node Voltage Method On-No Load And On Load Condition PLC PORT EXTENDER POTIER & ASA METHOD POWER TRANSFORMER POWER TRANSFORMER TESTING POWER TRANSFORMER TESTING METHODS PROGRAMMABLE LOGIC PROGRAMMABLE LOGIC CONTROLLER Parallel Port EXPANDER Paschen's law Piezoelectric Wave-Propagation Transducers Potential Transformer RADIO INTERFERENCE RECTIFIERS REGULATION OF ALTERNATOR REGULATION OF THREE PHASE ALTERNATOR Read a Capacitor SINGLY-EXCITED SOLIDS AND LIQUIDS Classical gas laws Secondary effects Semiconductor strain gages Speaker Driver Strain Gages Streamer theory Superposition Superposition theorem Swinburne’s Test TMOD TRANSFORMER TESTING METHODS Tape Recorder Three-Phase Wattmeter Transformer Tap Changer Transformer Testing Vector group test Virus Activity Voltage Insulator Coating Voltage To Frequency Converter Voltage to current converter What is analog-to-digital conversion Windows work for Nokia capacitor labels excitation current test magnetic balance voltage to frequency converter wiki electronic frequency converter testing voltage with a multimeter 50 hz voltages voltmeter

Search More Posts

Followers