实验15 安装新的int 9中断例程

来源:互联网 发布:2017淘宝怎么提高销量 编辑:程序博客网 时间:2024/04/30 12:20

这个实验综合了外中断,内中断,应该是全书最精华的一个实验,常常思考整个程序的流程,指导这个流程觉得熟悉、自然。

代码如下:

assume cs:code, ss:stackstack segmentdb 128 dup(0)stack endscode segmentstart:mov ax, stackmov ss, axmov sp, 128push cspop dsmov ax, 0mov es, axmov si, offset int9mov di, 204hmov cx, offset int9end - offset int9cldrep movsbpush es:[9*4]pop es:[200h]push es:[9*4+2]pop es:[202h]climov word ptr es:[9*4], 204hmov word ptr es:[9*4+2], 0stimov ax, 4c00hint 21h;int9---------------------int9:push axpush bxpush cxpush espush dxin al, 60hmov dl, 'A'pushfcall dword ptr cs:[200h]cmp al, 9ehjne int9retmov ax, 0b800hmov es, axmov bx, 0mov cx, 2000s:mov byte ptr es:[bx], dlinc byte ptr es:[bx+1]add bx, 2loop sint9ret:pop dxpop espop cxpop bxpop axiretint9end:nopcode endsend start


实验结果:



实验体会:

1,思考按一个'a'快速松手,程序的执行流程?

2,思考按‘b’快速松手,程序的执行流程?

3,思考按一个‘a’连续10个后松手,程序执行的流程?

如果学习流于形式和任务,学不好,学不深,更重要的很痛苦~

学习的本身是有乐趣的,如果没有“学而时习之,不亦乐乎”的感觉,这个学习应该出了问题。






阅读全文
0 0
原创粉丝点击