⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 trapdemo.c

📁 国外网站上的一些精典的C程序
💻 C
字号:
/***  Demonstrate TRAPFLAG.ASM****  public domain by Bob Stout*/#include <stdio.h>#include <stdlib.h>#include <dos.h>#include <conio.h>#include "extkword.h"#ifdef __WATCOMC__ #pragma aux ins09  "_*" parm caller [] modify [ax bx cx dx es] #pragma aux undo09 "_*" parm caller [] modify [ax bx cx dx es]#endifextern void ins09(void);extern void undo09(void);extern volatile int FAR ccrcvd;static void biosprt(char *p){      union REGS regs;      while (*p)      {            regs.h.ah = 0x0e;             /* Low-level services only!     */            regs.h.al = *p++;            regs.x.bx = 0;            int86(0x10, &regs, &regs);      }}static void FAR my_cc(void){      char *p1 = "Ctrl-";      char *p2 = "C";      char *p3 = "Break";      char *p4 = " received\r\n";      biosprt(p1);      if (1 == ccrcvd)            biosprt(p2);      else  biosprt(p3);      biosprt(p4);}main(){      int ch = 0;      setbuf(stdout, NULL);      my_cc();      ins09();      atexit(undo09);      puts("New Ints 09h & 1Bh installed...");      puts("Hit Esc to quit...");      do      {            if (kbhit())            {                  if (0x1b != (ch = getch()))                  {                        if (0x20 > ch)                        {                              fputc('^', stdout);                              ch += '@';                        }                        fputc(ch, stdout);                  }            }            if (ccrcvd)            {                  my_cc();                  ccrcvd = 0;            }      } while (0x1b != ch);      return 0;}

⌨️ 快捷键说明

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