首页 Soft PlugIn RAN乱 Dev开发 Info资料 English WAP 留言 登陆 注册
-
Posted by Yippee | 评论(0) | 引用(0) | 阅读2293次
µC/OS-II UCOSII学习笔记2

PC_DOSSaveReturn();                                    /* Save environment to return to DOS        */

PC_VectSet(VECT_DOS_CHAIN, PC_TickISR);                /* Store MS-DOS's tick to chain             */

void PC_VectSet (INT8U vect, void (*isr)(void))
{
#if OS_CRITICAL_METHOD == 3                      /* Allocate storage for CPU status register           */
    OS_CPU_SR  cpu_sr;
#endif   
    INT16U    *pvect;
   
   
    pvect    = (INT16U *)MK_FP(0x0000, vect * 4);     /* Point into IVT at desired vector location     */
    OS_ENTER_CRITICAL();
    *pvect++ = (INT16U)FP_OFF(isr);                   /* Store ISR offset                              */
    *pvect   = (INT16U)FP_SEG(isr);                   /* Store ISR segment                             */
    OS_EXIT_CRITICAL();
}
直接访问0X0000地址,找了半天资料,发现这个;

#include <stdio.h>
#include <dos.h>
main(int argc, char **argv)
{
 unsigned int far *vecbase = MK_FP(0x0000, 0x0000);
 int int_num;

 if(argc == 1) {
  printf("INTVEC  Shows interrupt vector for an interrupt\n");
  printf("usage: intvec <IntNum &line; X>\n");
  printf("X shows all 256 interrupt vectors\n");
  exit(0);
  }

 if((argv[1][0] == 'x') &line;&line; (argv[1][0] == 'X')) {
  for(int_num = 0; int_num < 256; int_num++) {
   printf("INT %02Xh vector = ", int_num);
   printf("%04X:%04X\n",vecbase[int_num * 2 + 1],vecbase[int_num * 2]);
   }
  } else {
  if(sscanf(argv[1],"%X", &int_num)) {
   printf("INT %02Xh vector = ", int_num);
   printf("%04X:%04X\n", vecbase[int_num * 2 + 1], vecbase[int_num * 2]);
   } else
   printf("Error: bad number\n");
  }
}
好像是打印所有的中断向量?

INT FAh vector = 0080:0001
INT FBh vector = 7C00:0001
INT FCh vector = 4CFA:4E4C
INT FDh vector = 0202:F000
INT FEh vector = 0002:4C72
INT FFh vector = 02F8:03F8


字体:

Permanant URI永久地址 http://www.shengfang.org/blog/p/ucosii2xx.php
Trackback URI引用地址 http://www.shengfang.org/blog/tb.php?tb_id=1122455245

2005年7月27日17:07星期三  [Dev开发] 追踪此文的RSS
提示:
此文还没有评论。

称呼:    登陆   注册
   不注册,但记住我的信息
邮件:
(非必须)
评论: [UBB代码帮助]
粗体 斜体 下划线 链接 水平线 引用



验证码: 请输入你看见的数字
关闭UBB      提交时自动将内容复制到剪贴板

公告
Fire and Motion!

统计信息
[Yippee]||[统计]||日志:1839
在线: 22||用户: 2576 [列表]
今日:2193||到访:2854047
Rss:885222||评论:1604

最新日志

最新评论

友情链接

日历

最新引用

搜索

归档

杂项
Get RSS Feed (Version 2.0)
Get Atom Feed (Version 0.3)
编码:  UTF-8