When I worked at NASA, Goddard Space Flight Center in 1994, I worked on a project that involved the Harris RTX2010. At that time, there are a Forth and a C compiler. I do not know Forth well and the C compiler was just too slow. This leads me into writing the RTX2010 assembler. RTX2010 data sheet does not even has the assembler mnemonic. So I designed the mnemonic by myself as well. It turns out that program written with native instructions ran 5.5 times faster than the Forth compiler and 10 times faster than the C compiler. XRS is the only mission that uses my assembler. The rest of NASA projects use Forth language. Included in the download ZIP file are RTX2010 manual, C source code of the assembler, C source code of a DOS remote debugger, and the monitor code written in native assembly language. The monitor code runs on target board and communicates with the remote debugger running on the PC. The assembly mnemonic is actual the state of CPU stack after the instruction executed. Counting from right to left, the original stack is DCBANT where T is top, N is next, A is beneath N. Then the Forth DUP instruction is ANTT, the Forth DROP instruction is CBAN. Agree? More examples: CBAN,m[T]=N write to memory location pointed by top the value of next, then drop top. CBA(s{10}-T),mb[T]=Nr write the lower byte of next to memory location pointed by top. new top becomes (10 - top) and next is dropped. After executed, return to calling procedure. (the 'r' at the end means return). RTX2010 DOWNLOAD |