--- /dev/null
+/* Used only for debugging the operand evaluator\r
+ This prints the OpType, OpMtype (hex byte), and\r
+ if it is a memory operand, it also prints the Base,\r
+ Indx, Disp, and size if they exist.\r
+ THIS IS NOT INCLUDED IN DELIVERABLE DASM.EXE\r
+*/\r
+\r
+void print_Oper(int op)\r
+{\r
+switch (rgOpType[op]) {\r
+ case r32:\r
+ fputs("r32= ", lst_fp);\r
+ put_num(rgOpReg[op], lst_fp);\r
+ break;\r
+ case r16:\r
+ fputs("r16= ", lst_fp);\r
+ put_num(rgOpReg[op], lst_fp);\r
+ break;\r
+ case r8:\r
+ fputs("r8= ", lst_fp);\r
+ put_num(rgOpReg[op], lst_fp);\r
+ break;\r
+ case rCRG:\r
+ fputs("rCRG= ", lst_fp);\r
+ put_num(rgOpReg[op], lst_fp);\r
+ break;\r
+ case rDRG:\r
+ fputs("rDRG= ", lst_fp);\r
+ put_num(rgOpReg[op], lst_fp);\r
+ break;\r
+ case rTRG:\r
+ fputs("rTRG= ", lst_fp);\r
+ put_num(rgOpReg[op], lst_fp);\r
+ break;\r
+ case rSEG:\r
+ fputs("rSEG= ", lst_fp);\r
+ put_num(rgOpReg[op], lst_fp);\r
+ break;\r
+\r
+ case mem: /* memory operand */\r
+ fputs("MemOp- ", lst_fp);\r
+ if (OpMType & fBase) { /* Base register */\r
+ fputs(" Base-", lst_fp);\r
+ put_num(rgOpBase[op], lst_fp);\r
+ }\r
+ if (OpMType & fIndx) { /* Index Register */\r
+ fputs(" Indx-", lst_fp);\r
+ put_num(rgOpIndx[op], lst_fp);\r
+ if (OpMType & fScale2) { /* scale value 2 */\r
+ fputs(" Scale2 ", lst_fp);\r
+ }\r
+ if (OpMType & fScale4) { /* scale value 4 */\r
+ fputs(" Scale4 ", lst_fp);\r
+ }\r
+ if (OpMType & fScale8) { /* scale value 8 */\r
+ fputs(" Scale8 ", lst_fp);\r
+ }\r
+ }\r
+ if (OpMType & fDisp8) { /* Disp 8 value */\r
+ fputs(" Disp8-", lst_fp);\r
+ put_hex(rgOpDisp[op], 2, lst_fp);\r
+ }\r
+ if (OpMType & fDisp32) { /* Disp 32 value */\r
+ fputs(" Disp32-", lst_fp);\r
+ put_hex(rgOpDisp[op], 8, lst_fp);\r
+ }\r
+ break;\r
+ case val8:\r
+ fputs("Val8=", lst_fp);\r
+ put_num(rgOpDisp[op], lst_fp);\r
+ break;\r
+ case val16:\r
+ fputs("Val16=", lst_fp);\r
+ put_num(rgOpDisp[op], lst_fp);\r
+ break;\r
+ case val32:\r
+ fputs("Val32=", lst_fp);\r
+ put_num(rgOpDisp[op], lst_fp);\r
+ break;\r
+ default:\r
+ fputs(" UNK Operand ", lst_fp);\r
+}\r
+}\r