pcscrnio.h
来自「开放源码的编译器open watcom 1.6.0版的源代码」· C头文件 代码 · 共 490 行 · 第 1/2 页
H
490 行
/****************************************************************************
*
* 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!
*
****************************************************************************/
#pragma aux BIOSSetPage = \
0X55 /* push bp */ \
0XB4 0X05 /* mov ah,5 */ \
0XCD 0X10 /* int 10 */ \
0X5D /* pop bp */ \
parm caller [ ax ];
#pragma aux BIOSGetPage = \
0X55 /* push bp */ \
0XB4 0X0F /* mov ah,f */ \
0XCD 0X10 /* int 10 */ \
0X8A 0XC7 /* mov al,bh */ \
0XB4 0X00 /* mov ah,0 */ \
0X5D /* pop bp */ \
parm caller [ ax ] \
modify [ bx ];
#pragma aux BIOSGetMode = \
0X55 /* push bp */ \
0XB4 0X0F /* mov ah,f */ \
0XCD 0X10 /* int 10 */ \
0X5D /* pop bp */ \
parm caller [ ax ] \
modify [ bx ];
#pragma aux BIOSSetMode = \
0X55 /* push bp */ \
0XB4 0X00 /* mov ah,0 */ \
0XCD 0X10 /* int 10 */ \
0X5D /* pop bp */ \
parm caller [ ax ];
#pragma aux BIOSGetCurPos = \
0X55 /* push bp */ \
0XB4 0X03 /* mov ah,3 */ \
0XCD 0X10 /* int 10 */ \
0X5D /* pop bp */ \
parm caller [ bx ] \
value [ dx ] \
modify [ bx cx dx ];
#pragma aux BIOSSetCurPos = \
0X55 /* push bp */ \
0XB4 0X02 /* mov ah,2 */ \
0XCD 0X10 /* int 10 */ \
0X5D /* pop bp */ \
parm caller [ dx ] [ bx ] \
modify [ bx cx dx ];
#pragma aux BIOSGetCurTyp = \
0X55 /* push bp */ \
0XB4 0X03 /* mov ah,3 */ \
0XCD 0X10 /* int 10 */ \
0X5D /* pop bp */ \
parm caller [ bx ] \
value [ cx ] \
modify [ bx cx dx ];
#pragma aux BIOSSetCurTyp = \
0X55 /* push bp */ \
0XB4 0X01 /* mov ah,1 */ \
0XCD 0X10 /* int 10 */ \
0X5D /* pop bp */ \
parm caller [ cx ] \
modify [ cx ];
#pragma aux BIOSGetAttr = \
0X55 /* push bp */ \
0XB4 0X08 /* mov ah,8 */ \
0XCD 0X10 /* int 10 */ \
0X5D /* pop bp */ \
parm [ bh ] \
value [ ah ];
#pragma aux BIOSSetAttr = \
0X55 /* push bp */ \
0X29 0XC9 /* sub cx,cx */ \
0xBA 0X50 0X32 /* mov dx,$3250 */ \
0XB8 0X00 0X06 /* mov ax,$600 */ \
0XCD 0X10 /* int 10 */ \
0X5D /* pop bp */ \
parm caller [ bh ];
#pragma aux VIDGetRow = \
0XB0 0X0F /* mov al,f */ \
0XEE /* out dx,al */ \
0X42 /* inc dx */ \
0XEC /* in al,dx */ \
parm caller [ dx ];
#pragma aux VIDSetRow = \
0X88 0XC4 /* mov ah,al */ \
0XB0 0X0F /* mov al,f */ \
0XEE /* out dx,al */ \
0X42 /* inc dx */ \
0X8A 0XC4 /* mov al,ah */ \
0XEE /* out dx,al */ \
parm caller [ dx ] [ ax ];
#pragma aux VIDSetPos = \
0XB0 0X0F /* mov al,f */ \
0XEE /* out dx,al */ \
0X42 /* inc dx */ \
0X88 0XD8 /* mov al,bl */ \
0XEE /* out dx,al */ \
0X4A /* dec dx */ \
0XB0 0X0E /* mov al,e */ \
0XEE /* out dx,al */ \
0X42 /* inc dx */ \
0X8A 0XC7 /* mov al,bh */ \
0XEE /* out dx,al */ \
parm caller [ dx ] [ bx ];
#pragma aux VIDGetPos = \
0XB0 0X0F /* mov al,f */ \
0XEE /* out dx,al */ \
0X42 /* inc dx */ \
0XEC /* in al,dx */ \
0X88 0XC4 /* mov ah,al */ \
0X4A /* dec dx */ \
0XB0 0X0E /* mov al,e */ \
0XEE /* out dx,al */ \
0X42 /* inc dx */ \
0XEC /* in al,dx */ \
0X86 0XE0 /* xchg ah,al */ \
parm caller [ dx ] value [ ax ];
#pragma aux VIDGetCol = \
0XB0 0X0E /* mov al,e */ \
0XEE /* out dx,al */ \
0X42 /* inc dx */ \
0XEC /* in al,dx */ \
parm caller [ dx ];
#pragma aux VIDWait = \
0XEB 0X00 /* jmp ip */ \
parm caller;
#pragma aux VIDSetCurTyp = \
0X50 /* push ax */ \
0XB0 0X0A /* mov al,a */ \
0XEE /* out dx,al */ \
0X42 /* inc dx */ \
0X8A 0XC4 /* mov al,ah */ \
0XEE /* out dx,al */ \
0X4A /* dec dx */ \
0XB0 0X0B /* mov al,b */ \
0XEE /* out dx,al */ \
0X42 /* inc dx */ \
0X58 /* pop ax */ \
0XEE /* out dx,al */ \
parm caller [ dx ] [ ax ];
#pragma aux VIDGetCurTyp = \
0XB0 0X0B /* mov al,b */ \
0XEE /* out dx,al */ \
0X42 /* inc dx */ \
0XEC /* in al,dx */ \
0X88 0XC4 /* mov ah,al */ \
0X4A /* dec dx */ \
0XB0 0X0A /* mov al,a */ \
0XEE /* out dx,al */ \
0X42 /* inc dx */ \
0XEC /* in al,dx */ \
0X86 0XE0 /* xchg ah,al */ \
parm caller [ dx ] value [ ax ];
#pragma aux BIOSEGAInfo = \
0X55 /* push bp */ \
0XB4 0X12 /* mov ah,12 */ \
0XB3 0X10 /* mov bl,10 */ \
0XB7 0XFF /* mov bh,ff */ \
0XCD 0X10 /* int 10 */ \
0X89 0XD8 /* mov ax,bx */ \
0X89 0XCA /* mov dx,cx */ \
0X5D /* pop bp */ \
parm modify [ bx cx ];
#pragma aux BIOSGetRows = \
0X06 /* push es */ \
0X55 /* push bp */ \
0XB8 0X30 0X11 /* mov ax,1130 */ \
0XB7 0X00 /* mov bh,0 */ \
0XCD 0X10 /* int 10 */ \
0XFE 0XC2 /* inc dl */ \
0X5D /* pop bp */ \
0X07 /* pop es */ \
parm value [ dl ] modify [ ax bx cx ];
#pragma aux BIOSGetPoints = \
0X06 /* push es */ \
0X55 /* push bp */ \
0XB8 0X30 0X11 /* mov ax,1130 */ \
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?