DOC

enable

By Jimmy Spencer,2014-08-27 18:39
10 views 0
enable

函数名: enable

     : 开放硬件中断

     : #include <dos.h>

     void enable(void); 程序例:

    /* ** NOTE:

    This is an interrupt service routine. You can NOT compile this

    program

    with Test Stack Overflow turned on and get an executable file which

    will

    operate correctly.

    */

    #include <stdio.h>

    #include <dos.h>

    #include <conio.h>

    /* The clock tick interrupt */ #define INTR 0X1C

    void interrupt ( *oldhandler)(void); int count=0;

    void interrupt handler(void) {

    /*

     disable interrupts during the handling of the interrupt

    */

     disable();

    /* increase the global counter */

     count++;

    /*

     re enable interrupts at the end of the handler

    */

     enable();

    /* call the old routine */

     oldhandler();

    }

    int main(void)

    {

    /* save the old interrupt vector */

     oldhandler = getvect(INTR);

    /* install the new interrupt handler */

     setvect(INTR, handler);

    /* loop until the counter exceeds 20 */

     while (count < 20)

     printf("count is %d\n",count); /* reset the old interrupt handler */

     setvect(INTR, oldhandler);

     return 0;

    }

     返回

Report this document

For any questions or suggestions please email
cust-service@docsford.com