necscrio.h
来自「开放源码的编译器open watcom 1.6.0版的源代码」· C头文件 代码 · 共 197 行
H
197 行
/****************************************************************************
*
* Open Watcom Project
*
* Portions Copyright (c) 1983-2002 Sybase, Inc. All Rights Reserved.
*
* ========================================================================
*
* This file contains Original Code and/or Modifications of Original
* Code as defined in and that are subject to the Sybase Open Watcom
* Public License version 1.0 (the 'License'). You may not use this file
* except in compliance with the License. BY USING THIS FILE YOU AGREE TO
* ALL TERMS AND CONDITIONS OF THE LICENSE. A copy of the License is
* provided with the Original Code and Modifications, and is also
* available at www.sybase.com/developer/opensource.
*
* The Original Code and all software distributed under the License are
* distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
* EXPRESS OR IMPLIED, AND SYBASE AND ALL CONTRIBUTORS HEREBY DISCLAIM
* ALL SUCH WARRANTIES, INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR
* NON-INFRINGEMENT. Please see the License for the specific language
* governing rights and limitations under the License.
*
* ========================================================================
*
* Description: WHEN YOU FIGURE OUT WHAT THIS FILE DOES, PLEASE
* DESCRIBE IT HERE!
*
****************************************************************************/
/*
* OKAY - once and for all I am defining these here!!!!!
*/
#define NEC_DEBUG_SCREEN 1
#define NEC_USER_SCREEN 0
#pragma aux BIOSSetPage = \
" cmp al, 01h " \
" je Page1 " \
" mov dx, 0 " \
" jmp short foo " \
"Page1: mov dx, 1000h " \
"foo: mov ah, 0Eh " \
" int 18h " \
parm caller [ al ] \
modify [ ax dx ];
extern void BIOSSetPage( char );
#pragma aux BIOSGetMode = \
"mov ah, 0Bh " \
"int 18h " \
value[ al ] \
modify[ ax ];
extern char BIOSGetMode();
#pragma aux BIOSSetMode = \
"mov ah, 0Ah " \
"int 18h " \
parm [ al ] \
modify[ ax ];
extern void BIOSSetMode( char );
#pragma aux BIOSTextOn = \
"mov ah, 0Ch " \
"int 18h " \
modify[ ah ];
extern void BIOSTextOn();
#pragma aux BIOSTextOff = \
"mov ah, 0Dh " \
"int 18h " \
modify[ ah ];
extern void BIOSTextOff();
#pragma aux BIOSGraphOn = \
"mov ah, 40h " \
"int 18h " \
modify[ ah ];
extern void BIOSGraphOn();
#pragma aux BIOSGraphOff = \
"mov ah, 41h " \
"int 18h " \
modify[ ah ];
extern void BIOSGraphOff();
#pragma aux DoRingBell = \
"mov bx, 2h " \
"mov cx, 1h " \
"mov ah, 0x40 " \
"int 21h " \
parm [dx] \
modify [ ah cx ];
extern void DoRingBell( char far * s );
#define RING_BELL_ DoRingBell( "\007" );
#pragma aux GdcMask = \
"pushf " \
"cli "
void GdcMask( void );
#pragma aux GdcUnMask = \
"popf"
void GdcUnMask( void );
#pragma aux GdcDelay = \
" jmp short dl1 " \
"dl1: jmp short dl2 " \
"dl2: jmp short dl3 " \
"dl3: "
void GdcDelay( void );
#pragma aux BIOSSetCurPos = \
"mov ah, 13h " \
"int 18h " \
parm caller [ dx ] \
modify [ ah ];
extern void BIOSSetCurPos( int );
#pragma aux BIOS_OPEN_APP = \
"mov ax, 0 " \
"mov cl, 0xe0 " \
"int 0DCh " \
modify [ ax cl ];
extern void BIOS_OPEN_APP( void );
#pragma aux BIOS_CLOSE_APP = \
"mov cl, 0xe1 " \
"int 0DCh " \
modify [ ax cl ];
extern void BIOS_CLOSE_APP( void );
#pragma aux BIOS_JIS_SHF = \
"mov cl, 0xf3 " \
"int 0DCh " \
parm caller [ ax ] \
modify [ ax cl ] \
value [ ax ];
extern unsigned short BIOS_JIS_SHF( unsigned short );
#pragma aux BIOSSetCursorOn = \
"mov ah, 11h " \
"int 18h " \
modify [ ah ];
extern void BIOSSetCursorOn( void );
#pragma aux BIOSSetCursorOff = \
"mov ah, 12h " \
"int 18h " \
modify [ ah ];
extern void BIOSSetCursorOff( void );
#pragma aux BIOSSetCurBlinkOn = \
"mov ax, 1000h " \
"int 18h " \
modify [ ax ];
extern void BIOSSetCurBlinkOn( void );
#pragma aux BIOSSetCurBlinkOff = \
"mov ax, 1001h " \
"int 18h " \
modify [ ax ];
extern void BIOSSetCurBlinkOff( void );
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?