12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- #ifndef _WONX_SYS_SERVICE_H_
- #define _WONX_SYS_SERVICE_H_
- #include "types.h"
- #define MK_WORD(high,low) (((unsigned short int)(high) << 8) | ((unsigned short int)(low)))
- #define MK_DWORD(high,low) (((unsigned long int)(high) << 16) | ((unsigned long int)(low)))
- #define MK_FP(seg,off) ((void *)MK_DWORD(seg,off))
- #if 0
- #define FP_OFF(p) ((unsigned short int)((unsigned long int)(p) & 0xffff))
- #define FP_SEG(p) ((unsigned short int)((unsigned long int)(p) >> 16))
- #else
- #define FP_OFF(p) (p)
- #define FP_SEG(p) (0)
- #endif
- int _asm_inline(char * code);
- int _asm_int(char * code, int ax);
- int _asm_intb(char * code, int ax, unsigned char bl);
- int _asm_intbb(char * code, int ax, unsigned char bl, unsigned char cl);
- int _asm_intw(char * code, int ax, int bx);
- int _asm_intww(char * code, int ax, int bx, int cx);
- int _asm_intwww(char * code, int ax, int bx, int cx, int dx);
- int _asm_intwwww(char * code, int ax, int bx, int cx, int dx, int si);
- int _asm_intwp(char * code, int ax, int bx, int (*dummy)(void), void * dx);
- int _asm_intwwp(char * code, int ax, int bx, int cx, void * dx);
- int _asm_intwwwp(char * code, int ax, int bx, int cx, int dx, void * si);
- int _asm_intwfp(char * code, int ax, int bx, void * dsdx);
- int _asm_intfp(char * code, int ax, void * bxdx);
- long int _asm_intl(char * code, int ax);
- long int _asm_intlw(char * code, int ax, int bx);
- long int _asm_intlww(char * code, int ax, int bx, int cx);
- long int _asm_intlwww(char * code, int ax, int bx, int cx, int dx);
- long int _asm_intlwwww(char * code, int ax, int bx, int cx, int dx, int si);
- long int _asm_intlwp(char * code, int ax, int bx, int (*dummy)(void), void * dx);
- long int _asm_intlwwp(char * code, int ax, int bx, int cx, void * dx);
- long int _asm_intlwwwp(char * code, int ax, int bx, int cx, int dx, void * si);
- long int _asm_intlwfp(char * code, int ax, int bx, void * dsdx);
- #define service(vec, ah) _asm_int(NULL,0)
- #define serviceb(vec, ah, bl) _asm_intb(NULL,0,0)
- #define servicebb(vec, ah, bl, cl) _asm_intbb(NULL,0,0,0)
- #define servicew(vec, ah, bx) _asm_intw(NULL,0,0)
- #define serviceww(vec, ah, bx, cx) _asm_intww(NULL,0,0,0)
- #define servicewww(vec, ah, bx, cx, dx) _asm_intwww(NULL,0,0,0,0)
- #define servicew_w(vec, ah, bx, dx) _asm_intwww(NULL,0,0,0,0)
- #define servicewwww(vec, ah, bx, cx, dx, si) _asm_intwwww(NULL,0,0,0,0,0)
- #define servicewp(vec, ah, bx, dx) _asm_intwp(NULL,0,0,0,0)
- #define servicewwp(vec, ah, bx, cx, dx) _asm_intwwp(NULL,0,0,0,0)
- #define servicewwwp(vec, ah, bx, cx, dx, si) _asm_intwwwp(NULL,0,0,0,0,0)
- #define servicewfp(vec, ah, bx, dsdx) _asm_intwfp(NULL,0,0,0)
- #define servicewwfp(vec, ah, bx, cx, dsdx) _asm_intwfp(NULL,0,0,0)
- #define servicefp(vec, ah, bxdx) _asm_intwfp(NULL,0,0,0)
- #define servicex(vec, ah, al) _asm_int(NULL,0)
- #define servicexw(vec, ah, al, bx) _asm_intw(NULL,0,0)
- #define servicexww(vec, ah, al, bx, cx) _asm_intww(NULL,0,0,0)
- #define servicexwww(vec, ah, al, bx, cx, dx) _asm_intwww(NULL,0,0,0,0)
- #define servicexwwww(vec, ah, al, bx, cx, dx, si) _asm_intwwww(NULL,0,0,0,0,0)
- #define servicexwp(vec, ah, al, bx, dx) _asm_intwp(NULL,0,0,0,0)
- #define servicexwwp(vec, ah, al, bx, cx, dx) _asm_intwwp(NULL,0,0,0,0)
- #define servicexwfp(vec, ah, al, bx, dsdx) _asm_intwfp(NULL,0,0,0)
- #define servicel(vec, ah) _asm_intl(NULL,0)
- #define servicelw(vec, ah, bx) _asm_intlw(NULL,0,0)
- #define servicelww(vec, ah, bx, cx) _asm_intlww(NULL,0,0,0)
- #define servicelwww(vec, ah, bx, cx, dx) _asm_intlwww(NULL,0,0,0,0)
- #define servicelwp(vec, ah, bx, dx) _asm_intlwp(NULL,0,0,0,0)
- #define servicelwfp(vec, ah, bx, dsdx) _asm_intlwfp(NULL,0,0,0)
- #define servicelx(vec, ah, al) _asm_intl(NULL ,0)
- #define servicelxw(vec, ah, al, bx) _asm_intlw(NULL,0,0)
- #define servicelxww(vec, ah, al, bx, cx) _asm_intlww(NULL,0,0,0)
- #define servicelxwww(vec, ah, al, bx, cx, dx) _asm_intlwww(NULL,0,0,0,0)
- #define servicelxwp(vec, ah, al, bx, dx) _asm_intlwp(NULL,0,0,0,0)
- #define servicelxwfp(vec, ah, al, bx, dsdx) _asm_intlwfp(NULL,0,0,0)
- void bios_exit();
- #endif
|