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

📄 trapmon0.c

📁 俄罗斯高人Mamaich的Pocket gcc编译器(运行在PocketPC上)的全部源代码。
💻 C
字号:
/* * Mon2000 Trap handler (syscall interface). * * This trap handler is linked into the mon2000 libgloss (libmon). */#include <reent.h>#include "syscall.h"int __trap0 (int function, int p1, int p2, int p3, struct _reent *r){  int rc = 0;  switch (function) {  case SYS_exit:    /* loop so GDB can't go past system exit call */    while (1) {      asm volatile (          "ldi	  r0, #0						\n"          "trap    #15        ; return control to Mon2000");    }    break;  case SYS_write:  {    int i;    for( i=0; i<p3; i++ ) {      asm volatile (          "ldi   r0, #2							\n"          "ldi   r1, #15      ; load Ctrl-O (ASCII 15)			\n"          "trap  #15          ; write Ctrl-O for quoting purposes" );      asm volatile (          "ldi   r0, #2							\n"          "ldb   r1, %0							\n"          "trap  #15          ; write character to console"           : /* no outputs */          : "m" (((char*)p2)[i]));    }    rc = p3;                 /* return number of chars written */    break;  }  default:    rc = 0;    break;  }  return rc;}

⌨️ 快捷键说明

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