|  | 
 
| 
这一章内容稍微多了一点,所以多花了一些时间才看完。
x
马上注册,结交更多好友,享用更多功能^_^您需要 登录 才可以下载或查看,没有账号?立即注册  但做题的思路依旧是比较畅快的~
 有些地方不知道算不算是奇技淫巧了
   感觉对编程这件事越来越上道了
   
 复制代码;按下“A”键松开后,显示满屏幕的“A”,其他键照常处理。
;思路:1、断码
;      2、“A”需要状态键
;
;
assume cs:code
stack segment
        db 128 dup (0)
stack ends
code segment
start:        mov ax,stack
                mov ss,ax
                mov sp,128
                push cs
                pop ds
                mov ax,0
                mov es,ax
                mov si,offset int9
                mov di,204h
                mov cx,offset int9end-offset int9
                cld
                rep movsb
                push es:[9*4]
                pop es:[200h]
                push es:[9*4+2]
                pop es:[202h]
                cli
                mov word ptr es:[9*4],204h
                mov word ptr es:[9*4+2],0
                sti
                mov ax,4c00h
                int 21h
int9:        push ax
                push bx
                push cx
                push es
                in al,60h
                pushf
                call dword ptr cs:[200h]
                cmp al,9Eh
                jne int9ret
                mov ax,40h
                mov es,ax
                mov al,es:[17h]
                and al,00000011b
                cmp al,0
                je int9ret
                mov ax,0b800h
                mov es,ax
                mov bx,0
                mov cx,2000
                mov al,41H
s:                mov byte ptr es:[bx],al
                add bx,2
                loop s
int9ret:        pop es
                        pop cx
                        pop bx
                        pop ax
                        iret
int9end:nop
code ends
end start
 | 
 |