mov ah,02 ;将接收到的字符
显示在屏幕上
int 21h
jmp waiti
exit: mov ah,4ch ;退出
int 21h
out1 proc near ;向外发送一字节的子程序
out dx,al
push cx
mov cx,40h
gg: loop gg ;延时
pop cx
ret
out1 endp
code ends
end start
;8259-1.asm
;8259中断查询方式应用实验
;************************************ *****************************
; 2008年03月为8259应用修改;************************************ *****************************
I8259_1 EQU 2B0H ;8259的ICW1端口地址
I8259_2 EQU 2B1H ;8259的ICW2端口地址
I8259_3 EQU 2B1H ;8259的ICW3端口地址
I8259_4 EQU 2B1H ;8259的ICW4端口地址
O8259_1 EQU 2B1H ;8259的OCW1端口地址
O8259_2 EQU 2B0H ;8259的OCW2端口地址
O8259_3 EQU 2B0H ;8259的OCW3端口地址
data segment
mes1 db 'you can play a key on the keyboard!',0dh,0ah,24h
mes2 dd mes1
mess1 db 'Hello! This is interrupt * 0 *!',0dh,0ah,'$'
mess2 db 'Hello! This is interrupt * 1 *!',0dh,0ah,'$'
mess3 db 'Hello! This is interrupt * 2 *!',0dh,0ah,'$'
mess4 db 'Hello! This is interrupt * 3 *!',0dh,0ah,'$'
mess5 db 'Hello! This is interrupt * 4 *!',0dh,0ah,'$'
mess6 db 'Hello! This is interrupt * 5 *!',0dh,0ah,'$'
mess7 db 'Hello! This is interrupt * 6 *!',0dh,0ah,'$'
mess8 db 'Hello! This is interrupt * 7 *!',0dh,0ah,'$'
data ends
stacks segment
db 100 dup(?)
stacks ends
STACK1 SEGMENT STACK
DW 256 DUP(?)
STACK1 ENDS
CODE SEGMENT
ASSUME
CS:CODE,DS:DATA,SS:stacks,ES:DA TA
.386
START: mov ax,data
mov ds,ax
mov es,ax
mov ax,stacks
mov ss,ax
MOV DX,I8259_1 ;初始化8259的ICW1
MOV AL,13H ;边沿触发、单片8259、需要ICW4