com32/tool/genisr.c

14 lines
372 B
C

#include <stdio.h>
// these exceptions have error codes
const char ex[10] = {8, 10, 11, 12, 13, 14, 17, 21, 29, 30};
int main() {
for(int i = 0; i < 256; i++) {
int s = 0;
for(int e = 0; e < 10; e++) if(i == ex[e]) {s = 1; break;}
printf("\ni%i: cli\n%spush dword strict %i\njmp strict near isr\n%s", i, s ? "" : "push byte 0\n", i, s ? "cs nop\n" : "");
}
}