『楼 主』:
 求助关于键盘抓码的问题
 
使用 LLM 解释/回答一下
  
我在网上看了这方面的建议,修改15号4FH中断较易实现。 
下面是我编写程序的主体。但还是不理想,一些状态键:CTRL,ALT,PAUSE等抓不到!我已搞了好久,没一点头绪!!!请各位帮忙!!!! 
 
int15: 
		pushf 
                push    ax 
                push    cx 
                push    dx 
                push    bx 
                push    sp 
                push    bp 
                push    si 
                push    di 
		push	ds 
		push	es 
 
                cmp     ah,4fh 
                jnz     exit_int15 
 
		push	cs 
		pop	ds 
		push	cs 
		pop	es 
                inc     byte ptr flag_15 
                mov     key_buff_15,al 
scan1_15: 
              push ax          ;显示扫描代码 
 
              shr al,1         ;先显示高4位 
 
              shr al,1 
 
              shr al,1 
 
              shr al,1 
 
              cmp al,0ah 
 
              jb  scan2_15 
 
              add al,7 
 
scan2_15:        add al,30h       ;转换成ASCII码 
 
              mov bx,0 
 
              mov ah,0eh 
 
              int 10h 
 
              pop ax           ;后显示低四位 
 
              and al,0fh 
 
              cmp al,0ah 
 
              jb scan3_15 
 
              add al,7 
 
scan3_15:        add al,30h       ;转换成ASCII码 
 
              mov ah,0eh 
 
              int 10h 
 
              mov ax,0e20h     ;显示两个空格,以分隔扫描代码 
 
              int 10h 
 
              mov ax,0e20h 
 
              int 10h 
 
        exit_int15: 
                ;;;;;;;;;;;;;LFC 07/2/5 
		pop	es 
		pop	ds 
                pop     di 
                pop     si 
                pop     bp 
                pop     sp 
                pop     bx 
                pop     dx 
                pop     cx 
                pop     ax 
	popf 
       
 
                   DB      0EAH 
OFF_15            DW      ? 
SEG_15            DW      ? 
 
谢谢! 
 
    
 
  
 |