概述
这个实验综合了外中断,内中断,应该是全书最精华的一个实验,常常思考整个程序的流程,指导这个流程觉得熟悉、自然。
代码如下:
assume cs:code, ss:stack
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---------------------
int9: push ax
push bx
push cx
push es
push dx
in al, 60h
mov dl, 'A'
pushf
call dword ptr cs:[200h]
cmp al, 9eh
jne int9ret
mov ax, 0b800h
mov es, ax
mov bx, 0
mov cx, 2000
s: mov byte ptr es:[bx], dl
inc byte ptr es:[bx+1]
add bx, 2
loop s
int9ret:
pop dx
pop es
pop cx
pop bx
pop ax
iret
int9end:
nop
code ends
end start
实验结果:
实验体会:
1,思考按一个'a'快速松手,程序的执行流程?
2,思考按‘b’快速松手,程序的执行流程?
3,思考按一个‘a’连续10个后松手,程序执行的流程?
如果学习流于形式和任务,学不好,学不深,更重要的很痛苦~
学习的本身是有乐趣的,如果没有“学而时习之,不亦乐乎”的感觉,这个学习应该出了问题。
最后
以上就是孤独云朵为你收集整理的实验15 安装新的int 9中断例程的全部内容,希望文章能够帮你解决实验15 安装新的int 9中断例程所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复