croak1.c

来自「开放源码的编译器open watcom 1.6.0版的源代码」· C语言 代码 · 共 34 行

C
34
字号
// croak1.c
// C source example #1 on using UserDump API function
#include <stdio.h>
#include <i86.h>

void main(void)
{
    int i;
    char buffer[128];
    union REGS regs;
    struct SREGS sregs;

    segread(&sregs);
    sregs.es=sregs.ds;
    regs.x.edi=(int)buffer;
    regs.w.cx=128;
    regs.h.bl=0;    // non-ASCII dump
    regs.w.ax=0xff2f;
    int386x(0x31,&regs,&regs,&sregs);
    for(i=0;i<128;i++){ // fill dump with discernable pattern
        buffer[i]=i;
    }
    croaker();
}

void croaker(void)
{
    int i,peekaboo=0x12345678;

    printf("%d ",*(int *)peekaboo);     // if this one doesn't GPF,
    peekaboo=0x87654321;                // then
    printf("%d\n",*(int *)peekaboo);    // this one will
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?