《【汇编】重写0号中断(除法溢出中断) 》中的中断程序只在程序运行时有效,程序返回后即失效,下面给出程序返回后仍有效的中断程序:
assume cs:code code segment ;除法中断在中断向量表中的位置是0000:0000~0000:0003 ;0000:0000~0000:0001存放偏移地址(IP) ;0000:0002~0000:0003存在段地址(CS) start: mov ax,0 mov es,ax mov word ptr es:[0],200h mov word ptr es:[2],0 ;复制中断程序到0000:200 mov di,200h mov ax,cs mov ds,ax mov si,offset do0 mov cx,offset do0end - offset do0 cld rep movsb mov ax,4c00h int 21h ;除法中断处理过程 do0: jmp short do0_start db "chu fa yi chu la" do0_start:mov ax,cs mov ds,ax mov si,202h mov ax,0b800h mov es,ax mov di,160*12+2*36 mov cx,16 s: mov al,ds:[si] mov es:[di],al inc si add di,2 loop s mov ax,4c00h int 21h do0end: nop code ends end start