Integration of TINY with MASM for Windows and with the GNU ARM assembler for the Raspberry Pi

We have integrated some of Jack's programs with the MASM assembler so that they are easy to use and test, and we document here our implementation for TINY Version 1.1. We used this as a starting point to introduce other features such as procedures and REPEAT and FOR loops. Jack's TINY series finished at TINY 1.3 and we name TINY14E to reflect its greater functionality. Compilation produces an executable file (hence the E suffix to the program name).

We rapidly developed a rudimentary IDE which syntax highlights the TINY code and runs a batch file to execute the TINY compiler and then the MASM assembler and linker. Conveniently, the whole process works from a memory stick containing the MASM download.

With development for the Raspberry Pi in mind, we changed the output to GNU ARM assembler. Assembly gives ELF files. The execution of these can be simulated on a Windows machine by executing the simulator from the Cygwin prompt. We then describe the changes required to make the compiler work on the actual Raspberry Pi rather than on the simulator.

Follow the links below to the stages of development, with full code and sample programs.

Programming - a skill for life!

PPS introduction to the sixteen chapters of Let's build a compiler! by Jack Crenshaw, adapted for output to Intel processors. Conversion of compiler to output ARM assembler for use on Raspberry Pi.