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

📄 b_keybrd.asm

📁 dos 6.0 源代码 .对大家提高有一定的帮助。
💻 ASM
字号:
;***
;* $Workfile:   b_keybrd.asm  $
;* $Revision:   1.1  $
;*   $Author:   Dave Sewell  $
;*     $Date:   09 Oct 1989 11:56:28  $
;*
;* Fixed version of MSC "_bios_keybrd" routine.
;
;   Their routine messed up on Ctrl-Break.  This routine maps that key to
;   ESC.
;*******************************************************************************

%		.MODEL memmodel, language


        IF  @CodeSize
            .CODE   PARAGON_TEXT
        ELSE
            .CODE
        ENDIF

;***
;extern unsigned pascal paragon_bios_keybrd(unsigned service);
;
;Purpose:
;	The function "_bios_keybrd" performs
;	keyboard services using interrupt 16H.
;
;Entry:
;	unsigned service - specifies which keyboard service is being requested
;
;Exit:
;	For service 0, AL = Character code, AH = Scan Code
;	For service 1, AX = 0 if no key waiting, otherwise same as service 0
;	For service 2, AL = shift status byte
;
;Uses:
;	BX, CX, DX
;
;Exceptions:
;
;*******************************************************************************

paragon_bios_keybrd PROC    service:BYTE

		mov	ah, service
		int	16H		; request keyboard service
		jnz	check_cbrk

		cmp	service, 1
		jne	check_cbrk

		xor	ax,ax		; return 0 to indicate no key ready
		jmp	short done

check_cbrk:	or	ax, ax
		jnz	done

		mov	ax, 011BH	;Map Ctrl-Break to ESC

done:		ret

paragon_bios_keybrd ENDP

		    END

⌨️ 快捷键说明

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