हां, आप अपना खुद का इंटरप्रूट हैंडलर बना सकते हैं और जब चाहें इसे कॉल कर सकते हैं। आपको अपने स्वयं के इंटरप्ट हैंडलर को इंगित करने के लिए इंटरप्ट वेक्टर (जो पता 0000: 0000 से शुरू होता है) सेट अप करने की आवश्यकता होगी।
प्रत्येक हैंडलर का सूचक 4 बाइट्स (ऑफसेट और सेगमेंट) का उपभोग करता है, उदाहरण के लिए यदि आप INT 22h के लिए अपने इंटरप्ट हैंडलर को सेट करना चाहते हैं तो आप अपने हैंडलर को इंगित करने के लिए 0000: 0088h पर इंटरप्रूट वेक्टर अपडेट करेंगे।
एक अप्रयुक्त इंटरप्ट संख्या (कम से कम एक जिसे हार्डवेयर इंटरट्रूट द्वारा उपयोग नहीं किया जाता है) की जांच करने के लिए Ralph Brown's interrupt list देखें।
INITIALIZE:
XOR AX,AX
MOV ES,AX
CLI ; Disable interrupts, might not be needed if seting up a software-only interrupt
MOV WORD PTR ES:[136], OFFSET INT22 ; setups offset of handler 22h
MOV WORD PTR ES:[138], CS ; Here I'm assuming segment of handler is current CS
STI ; Reenable interrupts
; End of setup
INT22 PROC FAR
; Here goes the body of your handler
IRET
INT22 ENDP
संबंधित: http://stackoverflow.com/questions/3392831/what-happens-in-an-interrupt-service
यहाँ कैसे बाधा 22h के लिए कोई हैंडलर स्थापित करने के लिए का एक उदाहरण हो जाता है -रूउटिन –