+ -
当前位置:首页 → 问答吧 → 自定义 int09H 中断程序问题 求高手解答

自定义 int09H 中断程序问题 求高手解答

时间:2011-09-17

来源:互联网

我有三点问题
1.内存驻留区的大小怎么算?
2.我希望运行时产生中断则打印出“IntRrupt!GOT YOU!”,我对自定义中断是如何运作的还不是很清楚。一个自定义的中断程序运行以后以后应该产生什么样的效果呢?没有中断是否就直接退出来了?还是等待中断响应?
3.这个程序运行以后一闪而过,如果没有错误的话,这个程序是怎么样运作的
贴上源码
Assembly code
MYCODE    SEGMENT 'CODE'
          ASSUME CS:MYCODE
          ORG 100H

Start:    JMP Initial
          Intrupt  DB 'Yeye,I love  you!',13,10,'$'
          Str_Len  EQU $-Intrupt

          INT09H_Address LABEL DWORD
          OFFSET_INT09H DW ?
          SEGMENT_INT09H DW ?

INT_BEGIN:     
          PUSHF
          CALL CORE_CODE
          CALL CS:INT09H_ADDRESS
          IRET

CORE_CODE PROC
          PUSH AX
          PUSH BX
          PUSH CX
          PUSH DX
          PUSH ES
          PUSH BP

          MOV  AX,CS
          MOV  ES,AX
          LEA  BP,Intrupt
          MOV  CX,Str_Len
          MOV  DL,00H
          MOV  BX,000CH
          MOV  AX ,1301H
          INT  10H

          POP  BP
          POP  ES
          POP  DX
          POP  CX
          POP  BX
          POP  AX
          RET
CORE_CODE ENDP

CODE_ADDRESS SEGMENT
CODE_ADDRESS ENDS

Initial:  MOV AX,3509H
          INT 21H
          MOV WORD PTR OFFSET_INT09H,BX
          MOV WORD PTR SEGMENT_INT09H,ES

          MOV AX,CS
          MOV DS,AX
          MOV DX,OFFSET Start
          MOV AX,2509H
          INT 21H

          MOV BX,OFFSET CODE_ADDRESS
          ADD BX,15
          MOV CL,4
          SHR BX,CL
          MOV DX,BX
          MOV AX,3100H
          INT 21H

MYCODE    ENDS
          END Start

作者: DongsLLLL   发布时间: 2011-09-17

大牛在哪里啊。。。没有人理我么,太伤心了

作者: DongsLLLL   发布时间: 2011-09-19

热门下载

更多