. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
刷新 | 提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->外中断
  管理员: assembly   [回复本贴] [收藏本贴] [管理本贴] [关闭窗口]
主题 : :  最新捷报`~`  [待解决] 回复[ 4次 ]   点击[ 725次 ]  
101319007
[帖 主]   [ 发表时间:2008-02-24 20:30 ]   [引用]   [回复]   [ top ] 
荣誉值:3
信誉值:0
注册日期:2007-08-07 13:15
今天是第9天,突破15章.附上实验15代码
assume cs:code

stack segment
db 128 dup (0)
stack ends

code segment
start:mov ax,0
      mov es,ax
      mov ax,es:[4*9]      
      mov es:[200h],ax
      mov ax,es:[4*9+2]      
      mov es:[202h],ax
      mov di,204h
      mov si,offset int9
      mov ax,cs
      mov ds,ax
      mov cx,offset int9_end-offset int9
      cld      
      rep movsb
      cli
      mov word ptr es:[4*9],204h
      mov word ptr es:[4*9+2],0
      sti
     mov ax,4c00h
     int 21h

int9:push ax
     push bx
     push cx
     push es
     pushf
     mov ax,0
     mov es,ax
     in al,60h
     
     call dword ptr es:[200h]
     sub al,80h
     cmp al,1eh
     jne int9_exit
     mov ax,0b800h
     mov es,ax
     mov bx,0
     mov cx,2000
   s:mov byte ptr es:[bx],'A'
     add bx,2
     loop s
int9_exit:pop es
          pop cx
          pop bx
          pop ax
         iret
int9_end:nop

code ends
end start
wdm
[第1楼]   [ 回复时间:2008-02-24 22:09 ]   [引用]   [回复]   [ top ] 
荣誉值:342
信誉值:0
注册日期:2007-12-06 10:21
super man!
dinitial
[第2楼]   [ 回复时间:2008-07-26 21:29 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2008-07-20 21:33
在做这个实验时,我在mov ax,4c00h/int 21h 前加了个 mov ah,01h/int 21h,要求输入字符~~
但是当我输入A时,它却跳到下一行。并没有显示整页的A 。我想是不是在硬件系统中,int9被拦截的缘故,望各位大虾指点~~
sb123
[第3楼]   [ 回复时间:2008-12-20 23:47 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2008-12-06 07:47
你傻的啊~~~看看你自已的注册时间 6个月吧 说谎话之前别忘记把尾巴收好啊 别在这里侮辱我们的智慧啊!!!!!
greatbob2008
[第4楼]   [ 回复时间:2008-12-29 22:00 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2008-10-27 02:35
呵呵,井底之蛙。。。。
需要登录后才能回帖 -->> 请单击此处登录
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved