Hi Alex! Yes, indeed! Code typically gets quite large quickly when compiling the miniPicoLisp into "SISC Code". But luckily your miniPicoLisp was tiny enough.
But adding a few more Lisp - Instructions to SISC will significantly reduce the code length. Y-combinator, the "pure Lisper's while loop" and Beta reduction(s) just to mention here. Probably adding parts of the "Forth Instruction Set" - seen from the lambda point of view - might be the optimum, keeping a good balance between number of necessary instructions and execution code length of a pure MOV "SISC" machine to keep number of transistors as low as possible. I will find out ... ;-) Am Freitag, 10. April 2020 schrieb Alexander Burger <a...@software-lab.de>: > Hi Guido, > >> I've succeeded now to design my own CPU. I was curious, how many >> instructions - e.g. from Intel Instruction Set Architecture- i could >> ... >> Only 1 - in words "ONE" - single instruction left: MOV. > > Yeah, this single instruction set fascinated me too, since the early 90s when we > talked about it in the Munich Forth group meetings. > > It has ZERO opcodes - because it would be always the same :) > > But there *is* a cheat. All real work is done by hardware at given addresses > where values are moved to and fetched from. > > Also, code gets very large, because each instruction takes up 128 bits > (two addresses, thus two words on a 64-bit machine). > > >> Happy Easter and keep away from Windows and other viruses! > > Same to you, and everybody else! > > ☺/ A!ex > > -- > UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe >