asmbios.s

来自「eCos操作系统源码」· S 代码 · 共 77 行

S
77
字号
; Copyright (c) 1999 Greg Haerr <greg@censoft.com>;; int10 bios video function access; int16 bios keyboard access;; assembly language routines for MSDOS Microsoft C v5.10;; assemble with masm -Mx -D__MEDIUM__;MSC = 1;__MEDIUM__ = 1	include asm.h	.header	.cseg;; es:bp = int10(int ax,int bx);	Call video bios using interrupt 10h;	.cproc	int10	push	bp	mov	bp,sp	push	es	push	ds	push	si	push	di	mov	ax,arg1[bp]	; get first arg	mov	bx,arg1+2[bp]	; get second arg	int	10h	mov	dx,es		; return es:bp	mov	ax,bp	pop	di	pop	si	pop	ds	pop	es	pop	bp	ret	.cendp	int10;; int kbpoll(void) - poll keyboard for char ready;	.cproc	kbpoll	mov	ah,01h			; read, no remove	int	16h	jz	$9			; no chars ready	mov	ax,1			; chars ready	ret$9:	xor	ax,ax			; no chars ready	ret	.cendp	kbpoll;; int kbread(void) - wait and read a kbd char when ready;	.cproc	kbread	mov	ah,00h			; read and remove	int	16h			; return ax	ret	.cendp	kbread;; int kbflags(void) - return kbd shift status;	.cproc	kbflags	mov	ah,02h			; get shift status	int	16h	mov	ah,0			; low bits only for now...	ret	.cendp	kbflags	.cend	end

⌨️ 快捷键说明

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