Executing Machine Code on the Tektronix 4051

Rick Bensene rickb at bensene.com
Sun Feb 22 18:10:55 CST 2009

I recall that there was a way to make the 4051 execute machine code.  I
don't remember the exact method, but I remember that the bytes of 6800
machine code were encoded into a character string using the CHR$()
function.  For example, hex 43 would turn into CHR$(67), or a "C".   The
bytes were put into a string with the limit of program size being the
max. size of a character string.  The next part is where my memory fails
me -- there was a way to cause the  BASIC interpreter to branch to the
first character in the string, executing the code there.  It involved
doing the transfer in such a way that it was if the code was branched to
with a "jump to subroutine" call, and when the code was complete, a
"return from subroutine" instruction would be in the code, and that
would cause a branch back to the BASIC interpreter. As I'm writing this,
a statement called EXEC$ or something along those lines pops into my

I don't know if this is any help at all, but I really clearly remember
seeing 4051 programs (I worked at Tektronix from 1977 to 1990, and did a
lot of tinkering with 4051/2/4) that filled character strings with
hand-assembled machine code, and had a means to execute it.  Hopefully
someone can find some docs that might substantiate these memories and
solve the mystery.

Rick Bensene
The Old Calculator Museum

More information about the cctech mailing list