+void disassemble_cmd_adr_x(CMDTYPE cmdtype, const char *cmdname, WORD word, WORD adr, WORD loc)
+{
+ WORD x;
+ char *g;
+ fprintf(stdout, "\t%s\t", cmdname);
+ if(cmdtype == R_ADR_X) {
+ fprintf(stdout, "%s,", g = grstr((word & 0x00F0) >> 4));
+ FREE(g);
+ }
+ fprintf(stdout, "#%04X", adr);
+ if((x = (word & 0x000F)) != 0) {
+ fprintf(stdout, ",%s", g = grstr(x));
+ FREE(g);
+ }
+ fprintf(stdout, "\t\t\t\t; #%04X: #%04X #%04X", loc, word, adr);
+}
+
+void disassemble_cmd_r(CMDTYPE cmdtype, const char *cmdname, WORD word, WORD loc)
+{
+ char *g, *g1, *g2;
+ fprintf(stdout, "\t%s", cmdname);
+ if(cmdtype == R1_R2) {
+ g1 = grstr((word & 0x00F0) >> 4);
+ g2 = grstr(word & 0x000F);
+ fprintf(stdout, "\t%s,%s", g1, g2);
+ FREE(g1);
+ FREE(g2);
+ } else if(cmdtype == R_) {
+ g = grstr((word & 0x00F0) >> 4);
+ fprintf(stdout, "\t%s", g);
+ FREE(g);
+ }
+ fprintf(stdout, "\t\t\t\t; #%04X: #%04X", loc, word);
+}
+