456.asm

来自「接口技术」· 汇编 代码 · 共 64 行

ASM
64
字号
dseg segment
mseg1 db 'Interrupt service routine 1 is running...',0dh,0ah,'$'
mseg2 db 'Interrupt service routine 2 is running...',0dh,0ah,'$'
mseg3 db 'Interrupt service routine 3 is running...',0dh,0ah,'$'
dseg ends
sseg segment para stack 'stack'
stk db 256 dup(?)
sseg ends
program segment
     assume cs:program,ds:dseg,ss:sseg     
start:      mov bx,seg lop1
	    mov ds,bx
            mov dx,offset lop1
            mov ax,2572h
            int 21h
            mov bx,seg lop2
	    mov ds,bx
            mov dx,offset lop2
            mov ax,2573h
            int 21h
            mov bx,seg lop3
	    mov ds,bx
            mov dx,offset lop3
            mov ax,2574h
            int 21h
kbint: 	    mov ah,0
            int 16h
            cmp al,'1'
            jz output1
            cmp al,'2'
            jz output2
            cmp al,'3'
            jz output3
            mov ah,4ch
	    int 21h
output1:    int 72h
            jmp kbint
output2:    int 73h
            jmp kbint
output3:    int 74h
            jmp kbint
lop1:       mov bx,seg mseg1
            mov ds,bx
	    mov dx,offset mseg1
            mov ah,09h
            int 21h
            iret
lop2:       mov bx,seg mseg2
            mov ds,bx
            mov dx,offset mseg2
            mov ah,09h
            int 21h
            iret
lop3:       mov bx,seg mseg3
            mov ds,bx
            mov dx,offset mseg3
            mov ah,09h
            int 21h
            iret            
program     ends
            end start
             

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?