汇编语言(王爽)--实验15 安装新的int 9中断历程

慎看:emu8086没有IO设备的支持,所以我瞎写的程序assume cs:codestack segment db 128 dup(0)stack endsdata segment dw 0,0data endscode segmentstart:mov ax,stack mov ss,ax mov sp,128 ...
摘要由CSDN通过智能技术生成

慎看:emu8086没有IO设备的支持,所以我瞎写的程序

assume cs:code

stack segment
    db 128 dup(0)
stack ends

data segment
    dw 0,0
data ends

code segment
start:mov ax,stack
      mov ss,ax
      mov sp,128
      
      push cs
      pop ds        ;ds=cs
      
      mov ax,0
      mov es,ax       ;es=0
      
      mov si,offset int9
      mov di,204h
      mov cx,offset int9-offset int9end
      cld
      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 es
      push cx
      
      in al,60h
      
      pushf
      call dword ptr cs:[200h]
      
      cmp al,1Eh
      jne int9ret
      
      mov ax,0b800h
      mov es,ax
      mov aL,'A'
      mov bx,0
      mov cx,2000
    s:mov es:[bx],al
      add bx,2
      loop s
       
int9ret:pop cx
        pop es
        pop bx
        pop ax
        iret
int9end:nop  

code ends

end start

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值