首页
社区
课程
招聘
[旧帖] [求助]再次求助,请高手帮我看看这个驻留程序有没有问题 0.00雪花
发表于: 2009-6-4 07:52 2143

[旧帖] [求助]再次求助,请高手帮我看看这个驻留程序有没有问题 0.00雪花

2009-6-4 07:52
2143
;利用TSR驻留程序实现当BIOS INT 13H中断读磁盘时,截取INT 13H,并在屏幕右上角显示字符‘D’(80*25)

CODE SEGMENT     
          ASSUME   CS:CODE
          ORG   100H                                ;256字节空余区间
START:    JMP init   
          INT13   dd ?                              ;原13号中断向量保存单元      
   
      TSR:      
                PUSHF
                MOV AX, CS  
                MOV DS, AX  
                MOV ES, AX ;把CS的值赋给DS和ES
               
                MOV AH,2                        ;置光标
           MOV BH,0
                MOV DH,24                                ;右上角坐标(24,79)
                MOV DL,79
                INT 10H
                                                ;显示字符
           MOV AH,9
                MOV AL,'D'
                MOV BL,07H
                MOV BH,0
                MOV CX,1
                INT 10H
                POPF
        CLI
                JMP CS:INT13                            ;转向中断13H原服务程序
   
  init:        MOV   AX,CS   
                MOV   DS,AX   
                MOV   ES,AX
                CLI
                MOV   AX,3513H                          ;获取13H的中断向量
           INT 21H
                MOV   CS:WORD PTR [INT13],BX
                MOV   CS:WORD PTR [INT13+02H],ES   

                LEA   DX,TSR                                    ;DX=中断处理程序入口地址的偏移
           MOV   AX,2513H                             ;设置中断向量,13中断向量     
           INT   21H
                STI
                LEA DX, init  
                ADD DX, 15  
                MOV CL, 4                                             ;   把init的偏移量转换成“节数”  
           SHR DX, CL                                     ;每节内有16个字节
           MOV AX, 3100H  
                INT 21H  

CODE ENDS
      END   START

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回
//