📄 asmbios.s
字号:
; 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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -