#include #include #include #include #include #include extern char **environ; void show(const char *m) { __dpmi_regs r; r.x.sp = r.x.ss = r.x.flags = 0; r.x.ax = 0x5800; __dpmi_simulate_real_mode_interrupt(0x21, &r); printf("%05lx %s: %02x\n", _go32_info_block.linear_address_of_transfer_buffer, m, r.x.ax & 0xff); } int main(int argc, char **argv) { unsigned long i; int count=1; if (argv[1][0] == '-') { count = atoi(argv[1]+1); argc--; argv++; } show("before"); _farsetsel(_go32_info_block.selector_for_linear_memory); for (i=0; i<_go32_info_block.size_of_transfer_buffer; i++) _farnspokeb(_go32_info_block.linear_address_of_transfer_buffer+i, 0x11); for (i=0; i