. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
刷新 | 提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->外中断
  管理员: assembly   [回复本贴] [收藏本贴] [管理本贴] [关闭窗口]
主题 : :  实验15完成(由书上283页修改而成)  [待解决] 回复[ 1次 ]   点击[ 317次 ]  
myhbasm
[帖 主]   [ 发表时间:2009-06-22 18:16 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2008-06-28 09:56
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 ;a键的断码为9eh
              jne int9ret

              mov ax,0b800h
              mov es,ax
              mov bx,0
              mov cx,2000
          s:
              mov byte ptr es:[bx],'A'
              add bx,2
              loop s

     int9ret:
              pop es
              pop cx
              pop bx
              pop ax

     int9end: nop

code ends
end start
mouse
[第1楼]   [ 回复时间:2009-06-23 09:41 ]   [引用]   [回复]   [ top ] 
荣誉值:472
信誉值:12
注册日期:2007-10-16 15:34
不错,到了后面的程序,做的程序反问简单了,对知识点的理解要到位 ^_^
需要登录后才能回帖 -->> 请单击此处登录
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved