Mill Computing, Inc. › Forums › The Mill › Architecture › switches › Reply To: switches
You will find some info about the ISA on the Mill wiki: http://millcomputing.com/wiki/Main_Page. Be aware that some of the info there is outdated, especially the details about the provisioning of the various configurations. Unfortunately, the person who had been working on the Wiki had personal issues that prevented him finishing, and no new person joining has picked it back up. If you or any reader wants to really get into the architecture and is able to explain what you find to others then go to millcomputing.com -> About -> Join us; we have a home for you 🙂 Much of the ISA material is mechanically generated (Python) from the specs that drive all our software, but there’s English text needed too.
As for the conAsm for your test case, the specializer output is decent, but what really impressed me was what Veedrac did with it, by hand and with as little conAsm documentation as there is. Kudos.
As for the ops in the various code samples:
con – arbitrary literal constant
rd – popCon, specially recognized literal constant
eql – integer equal compare
lsss – signed integer less compare
gtrs – signed integer greater compare
retn{tr,fl} – conditional return
retn – unconditional return
br{tr,fl} – conditional branch
br – unconditional branch
pick – select one of two, i.e. a ? b : c
calltr1 – conditional call with one belt result