{"id":1394,"date":"2015-12-08T21:38:25","date_gmt":"2015-12-08T21:38:25","guid":{"rendered":"http:\/\/www.sydneysmith.com\/wordpress\/?p=1394"},"modified":"2017-05-14T00:45:18","modified_gmt":"2017-05-14T00:45:18","slug":"hp-65-microcode-sto-and-rcl","status":"publish","type":"post","link":"https:\/\/www.sydneysmith.com\/wordpress\/1394\/hp-65-microcode-sto-and-rcl\/","title":{"rendered":"HP-65 Microcode &#8211; STO and RCL"},"content":{"rendered":"<p>Interestingly, all of the STO and RCL instructions in program memory goto the same microcode address. Also of interest is these instructions show the clash between &#8220;merged&#8221; keystrokes and unmerged ones: STO and RCL are merged keycodes (one step for two key presses); but not all of them are merged. (I think they ran out of available codes before they ran out of key sequences and decided to keep what they could.) As a result, you can see the behaviour of both approaches in the same instruction. <!--more--><\/p>\n<p>STO 1 &#8211; STO 8 are merged. &#8220;STO {+|-|*|\/} n&#8221; clearly is too much to be so, and a STO program code (just itself; not STO 1, STO 2, &#8230;) exists to be a prefix for the operator and then the memory number.<\/p>\n<p>A similar situation exists for RCL. RCL 1 &#8230; RCL 8 are merged. RCL also exists as a program code in its own right. However, whilst storage recall arithmetic did exist on some calculators, it doesn&#8217;t with the &#8217;65. Thus the choice of having RCL by itself to get followed by &#8220;9&#8221; (for RCL, 9) is perhaps a poor decision. RCL 9 is the only unmerged RCL instruction so it might have been better to have a single &#8220;RCL 9&#8221; program code rather than a single &#8220;RCL&#8221; program code. Still, most things involve design trade-offs and it is likely that this approach fitted better into the limited microcode address space.<\/p>\n<p>All of the merged STO and RCL instructions (STO 1-8, RCL 1-8) goto 01360. The STO and RCL, by themselves (not merged), goto 01347. That is the same place that [f], [f-1] and [g] goto. And interestingly, also the same place that DSP, GTO, LBL and RTN goto.<\/p>\n<p>No analysis yet but here&#8217;s the microcode traces:<\/p>\n<p><a href=\"http:\/\/sydneysmith.com\/products\/gss-hp65\/downloads\/65-rcl-8.txt\" target=\"_blank\">65-rcl-8.txt<\/a><br \/>\n<a href=\"http:\/\/sydneysmith.com\/products\/gss-hp65\/downloads\/65-rcl-9.txt\" target=\"_blank\">65-rcl-9.txt<\/a><br \/>\n<a href=\"http:\/\/sydneysmith.com\/products\/gss-hp65\/downloads\/65-sto-8.txt\" target=\"_blank\">65-sto-8.txt<\/a><br \/>\n<a href=\"http:\/\/sydneysmith.com\/products\/gss-hp65\/downloads\/65-sto-9.txt\" target=\"_blank\">65-sto-9.txt<\/a><br \/>\n<a href=\"http:\/\/sydneysmith.com\/products\/gss-hp65\/downloads\/65-sto-plus-1.txt\" target=\"_blank\">65-sto-plus-1.txt<\/a><br \/>\n<a href=\"http:\/\/sydneysmith.com\/products\/gss-hp65\/downloads\/65-prgm-sto-rcl.txt\" target=\"_blank\">65-prgm-sto-rcl.txt<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Interestingly, all of the STO and RCL instructions in program memory goto the same microcode address. Also of interest is these instructions show the clash between &#8220;merged&#8221; keystrokes and unmerged ones: STO and RCL are merged keycodes (one step for two key presses); but not all of them are merged. (I think they ran out &hellip; <a href=\"https:\/\/www.sydneysmith.com\/wordpress\/1394\/hp-65-microcode-sto-and-rcl\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">HP-65 Microcode &#8211; STO and RCL<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[16,5,39],"tags":[37,32],"_links":{"self":[{"href":"https:\/\/www.sydneysmith.com\/wordpress\/wp-json\/wp\/v2\/posts\/1394"}],"collection":[{"href":"https:\/\/www.sydneysmith.com\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.sydneysmith.com\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.sydneysmith.com\/wordpress\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.sydneysmith.com\/wordpress\/wp-json\/wp\/v2\/comments?post=1394"}],"version-history":[{"count":4,"href":"https:\/\/www.sydneysmith.com\/wordpress\/wp-json\/wp\/v2\/posts\/1394\/revisions"}],"predecessor-version":[{"id":1405,"href":"https:\/\/www.sydneysmith.com\/wordpress\/wp-json\/wp\/v2\/posts\/1394\/revisions\/1405"}],"wp:attachment":[{"href":"https:\/\/www.sydneysmith.com\/wordpress\/wp-json\/wp\/v2\/media?parent=1394"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.sydneysmith.com\/wordpress\/wp-json\/wp\/v2\/categories?post=1394"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.sydneysmith.com\/wordpress\/wp-json\/wp\/v2\/tags?post=1394"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}