{"id":1284,"date":"2015-11-17T12:19:17","date_gmt":"2015-11-17T12:19:17","guid":{"rendered":"http:\/\/www.sydneysmith.com\/wordpress\/?p=1284"},"modified":"2017-05-14T01:29:05","modified_gmt":"2017-05-14T01:29:05","slug":"hp67-merged-keycodes-state-info","status":"publish","type":"post","link":"https:\/\/www.sydneysmith.com\/wordpress\/1284\/hp67-merged-keycodes-state-info\/","title":{"rendered":"HP67 Merged Keycodes &#8211; State Info"},"content":{"rendered":"<p>As you key in a merged keycode the calculator has to remember which keys led up to this point. After all, pressing the [0] key produces very different results if it was preceded by [f], [g], [h], [STO], [RCL], [STO] [+], and so on. Here&#8217;s how it keeps track: <!--more--><\/p>\n<p>The &#8220;state&#8221; information (where it is up to) is stored in a combination of the S register bits and the M1[x] nibbles like this:<\/p>\n<table>\n<tr>\n<td>keys<\/td>\n<td>s<\/td>\n<td>m1<\/td>\n<td>notes<\/td>\n<\/tr>\n<tr>\n<td>GTO<\/td>\n<td>7,10,13<\/td>\n<td>0d0<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>GTO f<\/td>\n<td>4,6,10,13<\/td>\n<td>0d0<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>GTO .<\/td>\n<td>7,8,10,13<\/td>\n<td>ff0<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>GTO . n<\/td>\n<td>7,8,10,13<\/td>\n<td>fn0<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>GTO . n n<\/td>\n<td>7,8,10,13<\/td>\n<td>nn0<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>GTO [0-9,A-E,(i)]<\/td>\n<td><\/td>\n<td><\/td>\n<td>final<\/td>\n<\/tr>\n<tr>\n<td>GTO f [A-E]<\/td>\n<td><\/td>\n<td><\/td>\n<td>final<\/td>\n<\/tr>\n<tr>\n<td>GTO . n n n <\/td>\n<td><\/td>\n<td><\/td>\n<td>final<\/td>\n<\/tr>\n<tr>\n<td>DSP<\/td>\n<td>13<\/td>\n<td>060<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>DSP [0-9,(i)]<\/td>\n<td><\/td>\n<td><\/td>\n<td>final<\/td>\n<\/tr>\n<tr>\n<td>f<\/td>\n<td>4,6,13<\/td>\n<td>000<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>f GSB<\/td>\n<td>7,13<\/td>\n<td>0b0<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>f LBL<\/td>\n<td>7,13<\/td>\n<td>0f0<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>f others<\/td>\n<td><\/td>\n<td><\/td>\n<td>final<\/td>\n<\/tr>\n<tr>\n<td>f GSB [0-9,A-E,(i)]<\/td>\n<td><\/td>\n<td><\/td>\n<td>final<\/td>\n<\/tr>\n<tr>\n<td>f LBL [0-9,A-E]<\/td>\n<td><\/td>\n<td><\/td>\n<td>final<\/td>\n<\/tr>\n<tr>\n<td>g<\/td>\n<td>4,6,7,13<\/td>\n<td>000<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>g GSB f<\/td>\n<td>6,7,13<\/td>\n<td>0a0<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>g LBL f<\/td>\n<td>6,7,13<\/td>\n<td>0e0<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>g GSB f [A-E]<\/td>\n<td><\/td>\n<td><\/td>\n<td>final<\/td>\n<\/tr>\n<tr>\n<td>g LBL f [A-E]<\/td>\n<td><\/td>\n<td><\/td>\n<td>final<\/td>\n<\/tr>\n<tr>\n<td>g others<\/td>\n<td><\/td>\n<td><\/td>\n<td>final<\/td>\n<\/tr>\n<tr>\n<td>STO<\/td>\n<td>4,7,13<\/td>\n<td>090<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>STO &#8211;<\/td>\n<td>4,7,8,13<\/td>\n<td>0a0<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>STO +<\/td>\n<td>4,7,8,13<\/td>\n<td>0c0<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>STO *<\/td>\n<td>4,7,8,13<\/td>\n<td>0e0<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>STO \/<\/td>\n<td>4,7,8,13<\/td>\n<td>080<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>STO [0-9,A-E,(i)]<\/td>\n<td><\/td>\n<td><\/td>\n<td>final<\/td>\n<\/tr>\n<tr>\n<td>STO &#8211; [0-9,(i)]<\/td>\n<td><\/td>\n<td><\/td>\n<td>final<\/td>\n<\/tr>\n<tr>\n<td>STO + [0-9,(i)]<\/td>\n<td><\/td>\n<td><\/td>\n<td>final<\/td>\n<\/tr>\n<tr>\n<td>STO * [0-9,(i)]<\/td>\n<td><\/td>\n<td><\/td>\n<td>final<\/td>\n<\/tr>\n<tr>\n<td>STO \/ [0-9,(i)]<\/td>\n<td><\/td>\n<td><\/td>\n<td>final<\/td>\n<\/tr>\n<tr>\n<td>RCL<\/td>\n<td>4,10,13<\/td>\n<td>070<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>RCL [0-9,A-E,Sum,(i)]<\/td>\n<td><\/td>\n<td><\/td>\n<td>final<\/td>\n<\/tr>\n<tr>\n<td>h<\/td>\n<td>4,6,8,13<\/td>\n<td>000<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>h SF<\/td>\n<td>6,8,13<\/td>\n<td>080<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>h CF<\/td>\n<td>6,8,13<\/td>\n<td>060<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>h F?<\/td>\n<td>6,8,10,13<\/td>\n<td>050<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>h STI<\/td>\n<td><\/td>\n<td><\/td>\n<td>final<\/td>\n<\/tr>\n<tr>\n<td>h RCI<\/td>\n<td><\/td>\n<td><\/td>\n<td>final<\/td>\n<\/tr>\n<tr>\n<td>h SF [0-3]<\/td>\n<td><\/td>\n<td><\/td>\n<td>final<\/td>\n<\/tr>\n<tr>\n<td>h CF [0-3]<\/td>\n<td><\/td>\n<td><\/td>\n<td>final<\/td>\n<\/tr>\n<tr>\n<td>h F? [0-3]<\/td>\n<td><\/td>\n<td><\/td>\n<td>final<\/td>\n<\/tr>\n<tr>\n<td>h others<\/td>\n<td><\/td>\n<td><\/td>\n<td>final<\/td>\n<\/tr>\n<tr>\n<td>others<\/td>\n<td><\/td>\n<td><\/td>\n<td>final<\/td>\n<\/tr>\n<\/table>\n<p>When you press the [0] key it needs to check the S register and M1[x] to see what you mean.<\/p>\n<p>There&#8217;s more to untangle yet but here&#8217;s a trace\/listing for <a href=\"http:\/\/www.sydneysmith.com\/products\/gss-hp67u\/downloads\/67-prefixes-0.txt\" target=\"_blank\">prefixes then [0]<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>As you key in a merged keycode the calculator has to remember which keys led up to this point. After all, pressing the [0] key produces very different results if it was preceded by [f], [g], [h], [STO], [RCL], [STO] [+], and so on. Here&#8217;s how it keeps track:<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[16,5,3],"tags":[33],"_links":{"self":[{"href":"https:\/\/www.sydneysmith.com\/wordpress\/wp-json\/wp\/v2\/posts\/1284"}],"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=1284"}],"version-history":[{"count":3,"href":"https:\/\/www.sydneysmith.com\/wordpress\/wp-json\/wp\/v2\/posts\/1284\/revisions"}],"predecessor-version":[{"id":1287,"href":"https:\/\/www.sydneysmith.com\/wordpress\/wp-json\/wp\/v2\/posts\/1284\/revisions\/1287"}],"wp:attachment":[{"href":"https:\/\/www.sydneysmith.com\/wordpress\/wp-json\/wp\/v2\/media?parent=1284"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.sydneysmith.com\/wordpress\/wp-json\/wp\/v2\/categories?post=1284"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.sydneysmith.com\/wordpress\/wp-json\/wp\/v2\/tags?post=1284"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}