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

📄 bios.mh

📁 开放源码的编译器open watcom 1.6.0版的源代码
💻 MH
字号:
/*
 *  bios.h      BIOS functions
 *
:include crwat.sp
 */
#ifndef _BIOS_H_INCLUDED
#define _BIOS_H_INCLUDED
:include readonly.sp
:include cpluspro.sp

#ifndef _COMDEF_H_INCLUDED
 #include <_comdef.h>
#endif

:include pshpackl.sp

struct  _ibm_diskinfo_t {       /* disk parameters */
        unsigned drive;         /* drive number    */
        unsigned head;          /* head number     */
        unsigned track;         /* track number    */
        unsigned sector;        /* sector number   */
        unsigned nsectors;      /* number of sectors to read/write/compare  */
        void _WCFAR *buffer;    /* buffer to read to,write from, or compare */
};
#define _diskinfo_t     _ibm_diskinfo

:include ext.sp
#define diskinfo_t      _ibm_diskinfo_t
#endif

/* constants for BIOS disk access functions */
#define _DISK_RESET     0
#define _DISK_STATUS    1
#define _DISK_READ      2
#define _DISK_WRITE     3
#define _DISK_VERIFY    4
#define _DISK_FORMAT    5

/* constants for BIOS serial communications (RS-232) support */

/* serial port services */

#define _COM_INIT       0       /* init serial port */
#define _COM_SEND       1       /* send character */
#define _COM_RECEIVE    2       /* receive character */
#define _COM_STATUS     3       /* get serial port status */

/* serial port initializers.  One and only one constant from each of the
 * following four groups - character size, stop bit, parity, and baud rate -
 * must be specified in the initialization byte.
 */

/* character size initializers */

#define _COM_CHR7       2       /* 7 bits characters */
#define _COM_CHR8       3       /* 8 bits characters */

/* stop bit values - on or off */

#define _COM_STOP1      0       /* 1 stop bit */
#define _COM_STOP2      4       /* 2 stop bits */

/*  parity initializers */

#define _COM_NOPARITY   0       /* no parity */
#define _COM_ODDPARITY  8       /* odd parity */
#define _COM_SPACEPARITY 16     /* space parity */
#define _COM_EVENPARITY 24      /* even parity */

/*  baud rate initializers */

#define _COM_110        0       /* 110 baud */
#define _COM_150        32      /* 150 baud */
#define _COM_300        64      /* 300 baud */
#define _COM_600        96      /* 600 baud */
#define _COM_1200       128     /* 1200 baud */
#define _COM_2400       160     /* 2400 baud */
#define _COM_4800       192     /* 4800 baud */
#define _COM_9600       224     /* 9600 baud */

/* keyboard services */

#define _KEYBRD_READ        0   /* read next character from keyboard */
#define _KEYBRD_READY       1   /* check for keystroke */
#define _KEYBRD_SHIFTSTATUS 2   /* get current shift key status */

/* services for enhanced keyboards */

#define _NKEYBRD_READ           0x10    /* read next character from keyboard */
#define _NKEYBRD_READY          0x11    /* check for keystroke */
#define _NKEYBRD_SHIFTSTATUS    0x12    /* get current shift key status */

/* printer services */

#define _PRINTER_WRITE  0       /* write character to printer */
#define _PRINTER_INIT   1       /* initialize printer */
#define _PRINTER_STATUS 2       /* get printer status */

/* time-of-day services */

#define _TIME_GETCLOCK  0       /* get current clock count */
#define _TIME_SETCLOCK  1       /* set current clock count */


_WCRTLINK extern unsigned short _bios_disk(unsigned __cmd,
                                           struct diskinfo_t *__diskinfo);
_WCRTLINK extern unsigned short _bios_equiplist(void);
_WCRTLINK extern unsigned short _bios_keybrd(unsigned __cmd);
_WCRTLINK extern unsigned short _bios_memsize(void);
_WCRTLINK extern unsigned short _bios_printer(unsigned __cmd,unsigned __port,
                                              unsigned __data);
_WCRTLINK extern unsigned short _bios_serialcom(unsigned __cmd,unsigned __port,
                                                unsigned __data);
_WCRTLINK extern unsigned short _bios_timeofday(unsigned __cmd,long *__timeval);


:include poppack.sp
:include cplusepi.sp
#endif

⌨️ 快捷键说明

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