]> 4ch.mooo.com Git - 16.git/blobdiff - src/lib/16_head.h
added regestry dump function and added it to ps.exe for testing reason
[16.git] / src / lib / 16_head.h
index 274722303b73d393709ee8d71f358669ad9034f4..0a71c965a040b9a467d81f3b1023f977f19220bc 100755 (executable)
@@ -170,6 +170,7 @@ extern union REGS CPURegs;
 #define _DX CPURegs.x.dx\r
 \r
 #define _SI CPURegs.x.si\r
+#define _DI CPURegs.x.di\r
 \r
 #define _AH CPURegs.h.ah\r
 #define _AL CPURegs.h.al\r
@@ -180,6 +181,8 @@ extern union REGS CPURegs;
 #define _DH CPURegs.h.dh\r
 #define _DL CPURegs.h.dl\r
 \r
+#define _CFLAG CPURegs.x.cflag\r
+\r
 #define geninterrupt(n) int86(n,&CPURegs,&CPURegs);\r
 \r
 \r
@@ -197,6 +200,22 @@ int US_CheckParm(char *parm,char **strings);
 byte dirchar(byte in);\r
 void print_mem(void const *vp, size_t n);\r
 void hres (void);\r
+void regidump();\r
+\r
+//from https://stackoverflow.com/questions/111928/is-there-a-printf-converter-to-print-in-binary-format\r
+//printf("Leading text "BYTE_TO_BINARY_PATTERN, BYTE_TO_BINARY(byte));\r
+//For multi-byte types\r
+//printf("m: "BYTE_TO_BINARY_PATTERN" "BYTE_TO_BINARY_PATTERN"\n",             BYTE_TO_BINARY(m>>8), BYTE_TO_BINARY(m));\r
+#define BYTE_TO_BINARY_PATTERN "%c%c%c%c%c%c%c%c"\r
+#define BYTE_TO_BINARY(byte)  \\r
+       (byte & 0x80 ? '1' : '0'), \\r
+       (byte & 0x40 ? '1' : '0'), \\r
+       (byte & 0x20 ? '1' : '0'), \\r
+       (byte & 0x10 ? '1' : '0'), \\r
+       (byte & 0x08 ? '1' : '0'), \\r
+       (byte & 0x04 ? '1' : '0'), \\r
+       (byte & 0x02 ? '1' : '0'), \\r
+       (byte & 0x01 ? '1' : '0')\r
 \r
 #define PRINT_OPAQUE_STRUCT(p)  print_mem((p), sizeof(*(p)))\r
 \r