アセンブリ言語では、ハードウェア割り込みではないDOS割り込みINT21hがあります。
自分で割り込みを書いて呼び出すことができるのではないかと思っていました。
可能であれば、リンクまたは方法を提案してください。
はい、独自の割り込みハンドラーを作成して、いつでも呼び出すことができます。独自の割り込みハンドラーを指すように、割り込みベクトル(アドレス0000:0000で開始)を設定する必要があります。
各ハンドラーへのポインターは4バイト(オフセットとセグメント)を消費するため、たとえばINT 22hの割り込みハンドラーを設定する場合は、位置0000:0088hの割り込みベクトルを更新してハンドラーをポイントします。
Ralph Brownの割り込みリストをチェックして、未使用の割り込み番号(ハードウェア割り込みで使用されていない少なくとも1つ)をチェックします。
割り込み22hのハンドラーを設定する方法の例を次に示します。
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