{"id":1461,"date":"2015-12-18T20:09:46","date_gmt":"2015-12-18T20:09:46","guid":{"rendered":"http:\/\/www.sydneysmith.com\/wordpress\/?p=1461"},"modified":"2017-05-14T00:41:36","modified_gmt":"2017-05-14T00:41:36","slug":"the-real-hp-65-rs-sequence","status":"publish","type":"post","link":"https:\/\/www.sydneysmith.com\/wordpress\/1461\/the-real-hp-65-rs-sequence\/","title":{"rendered":"The Real HP-65 R\/S Sequence"},"content":{"rendered":"<p>Now that the <a href=\"http:\/\/www.sydneysmith.com\/wordpress\/1448\/hp-65-delayed-select-group\/\">HP-65 Delayed Select Group<\/a> instruction is behaving just like the real thing, it becomes possible to see what the real microcode does for the [R\/S] key and as a program step. Here&#8217;s the details: <!--more--><\/p>\n<p>When pressing the [R\/S] key to start a program it does this: <\/p>\n<pre>\r\n01101 0 -&gt; c[m]\r\n01102 delayed select group 1\r\n01103 c &lt;-&gt; m        ; C= 03000000000000 M= 10000000000221\r\n05104 delayed select rom 1\r\n05105 goto 04604\r\n04604 if s8 = 0\r\n04605 goto 04405\r\n04405 if s9 = 0\r\n04406 goto 04434\r\n04434 rom 2\r\n05035 goto 05376\r\n05376 delayed select group 0\r\n05377 goto 05223\r\n01223 clearstatus\r\n01224 1 -&gt; s8        ; S= ........8...\r\n01225 1 -&gt; s10       ; S= ........8.a.\r\n01226 goto 01217\r\n01217 rom 1\r\n00620 if s8 = 0\r\n00621 goto 00531\r\n00622 ...\r\n<\/pre>\n<p>When encountering an R\/S instruction in a program it does this:<\/p>\n<pre>\r\n01101 0 -&gt; c[m]\r\n01102 delayed select group 1\r\n01103 c &lt;-&gt; m        ; C= 04000000000000 M= 10000000000221\r\n05104 delayed select rom 1\r\n05105 goto 04604\r\n04604 if s8 = 0\r\n04605 goto 04405\r\n04606 goto 04502\r\n04502 shiftr a[w]    ; A= 04000000000000\r\n04503 c -&gt; a[s]\r\n04504 delayed select group 0\r\n04505 rom 2\r\n01106 goto 01354\r\n01354 if s1 = 0      ; if data entry not in progress\r\n01355 goto 01213\r\n01213 clearstatus    ; S= ............\r\n01214 goto 01266\r\n01266 1 -&gt; f3        ; f= .123.5..\r\n01267 goto 01240\r\n01240 jsb 01167\r\n01167 if s8 = 0\r\n01170 goto 01123\r\n01123 clearstatus\r\n01124 return\r\n01241 goto 01334\r\n01334 if c[m] &gt;= 1\r\n01335 goto 01337\r\n01337 if p # 14\r\n01340 goto 01217\r\n01217 rom 1\r\n00620 if s8 = 0\r\n00621 goto 00531\r\ndisplay:\r\n00531 ...\r\n<\/pre>\n<p>The two could be summarized as:<\/p>\n<pre>\r\n01101 0 -&gt; c[m]      ; clear prefix flags (f f-1 g STO ...)\r\n01103 c &lt;-&gt; m        ; X to C, state to M\r\n04604 if s8 = 1      ; if running\r\n04502   shiftr a[w]  ; undo 00755 shiftl\r\n04503   c -&gt; a[s]    ; and get sign back (C has it)\r\n01354   if s1 = 1    ; if data entry in progress\r\n01356     0 -&gt; f1    ; clear auto-enter flag\r\n01357   endif\r\n01213   clearstatus  ; clear the running flag (&others)\r\n01266   1 -&gt; f3      ; set update display flag\r\n01334   if c[m] = 0  ; if mantissa = 0\r\n01336     0 -&gt; c[w]  ; set exponent = 0 too\r\n01337   endif\r\n04405 else\r\n01223   clearstatus\r\n01224   1 -&gt; s8      ; set running\r\n01225   1 -&gt; s10     ; set don't interrupt\r\n00620 endif\r\n<\/pre>\n<p>The full trace is in <a href=\"http:\/\/www.sydneysmith.com\/products\/gss-hp65\/downloads\/65-rs.txt\" target=\"_blank\">65-rs.txt<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Now that the HP-65 Delayed Select Group instruction is behaving just like the real thing, it becomes possible to see what the real microcode does for the [R\/S] key and as a program step. Here&#8217;s the details:<\/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\/1461"}],"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=1461"}],"version-history":[{"count":1,"href":"https:\/\/www.sydneysmith.com\/wordpress\/wp-json\/wp\/v2\/posts\/1461\/revisions"}],"predecessor-version":[{"id":1462,"href":"https:\/\/www.sydneysmith.com\/wordpress\/wp-json\/wp\/v2\/posts\/1461\/revisions\/1462"}],"wp:attachment":[{"href":"https:\/\/www.sydneysmith.com\/wordpress\/wp-json\/wp\/v2\/media?parent=1461"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.sydneysmith.com\/wordpress\/wp-json\/wp\/v2\/categories?post=1461"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.sydneysmith.com\/wordpress\/wp-json\/wp\/v2\/tags?post=1461"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}