+/**
+ * 命令コードから命令のタイプを返す
+ */
+CMDTYPE getcmdtype(WORD code)
+{
+ CMDTAB *t;
+ CMDTYPE type = NONE;
+
+ for(t = code_cmdtype[hash_code(code)]; t != NULL; t = t->next) {
+ if(code == t->cmd->code) {
+ type = t->cmd->type;
+ break;
+ }
+ }
+ return type;
+}
+
+/**
+ * 命令コードから命令の名前を返す
+ */
+char *getcmdname(WORD code)
+{
+ CMDTAB *t;
+ char *cmd = NULL;
+
+ for(t = code_cmdtype[hash_code(code)]; t != NULL; t = t->next) {
+ if(code == t->cmd->code) {
+ cmd = t->cmd->name;
+ break;
+ }
+ }
+ return cmd;
+}
+
+/**
+ * 汎用レジスタの番号からレジスタを表す文字列を返す
+ */
+
+char *grstr(WORD word)
+{
+ assert(word <= 7);
+ char *str = malloc_chk(3 + 1, "grstr.str");
+ sprintf(str, "GR%d", word);
+ return str;
+}
+