-296- | PC机汇编语言实战精解 | ![]() |
|||||||||||||||||||
f11: f12: exit: |
mov mov mov in push in or out and out mov out pop test jnz mov cmp jz cmp jz jmp inc mov stosb loop jmp inc mov stosb loop pop pop |
ax,0b800h es,ax di,0 al,60h ax al,61h al,80h 61h,al al,7fh 61h,al al,20h 20h,al ax al,10000000b exit cx,2000 al,57h f11 al,58h f12 exit di al,2 f11 exit di al,4 f12 es di |
;令ES寄存器指向显示缓冲区 ;DI寄存器指向显示缓冲区首 ;从端口60H取得键盘发来的扫描码 ;暂存扫描码 ;通过61H端口给键盘发一个应答脉冲 ;向中断控制器发EOI命令 ;取回扫描码 ;是通码吗? ;若不是通码,转EXIT退出中断服务程序 ;准备改变显示缓存中字符的颜色 ;是F11键的扫描码吗? ;是,转F11键的处理程序 ;是F12键吗? ;是,转F12键的处理程序 ;不是这两个键,转EXIT退出中断服务程序 ;DI寄存器指向属性字节(奇数地址) ;选择黑底绿色字属性 ;改变屏幕字符颜色 ;转F11继续 ;整屏字符颜色改变后,退出中断服务程序 ;将整屏字符颜色改变为红色 ;恢复寄存器 |
||||||||||||||||||
Copyright © 2004-2015 Reanimator | www.cookmoon.org |