汇编与接口8259中断实验

2 篇文章 0 订阅

实验介绍

8259中断实验,要求实现8259的级联。主8259的MIR7接KK1+。从8259的SIR1接KK2+。实现中断嵌套。
本程序特点:可以比较直观的观察出多重中断的嵌套和返回。

实验设计

原程序内容:无限循环输出字符 ‘6’
中断服务程序1内容:循环输出10个字符’7’
中断服务程序2内容:循环输出一个字符’8’
初始化命令字如下图所示,可根据具体情况进行修改:
在这里插入图片描述

代码实现

SSTACK	SEGMENT STACK
		DW 32 DUP(?)
SSTACK	ENDS

CODE   	SEGMENT
	   	ASSUME CS:CODE
 
START:
		MOV AX, 0000H
		MOV DS, AX
		;初始化中断向量表
		MOV AX, OFFSET SERVER1		
		MOV SI, 003CH				
		MOV [SI], AX				
		MOV AX, SEG SERVER1			
		MOV SI, 003EH
		MOV [SI], AX			
		MOV AX, OFFSET SERVER2		
		MOV SI, 00C4H
		MOV [SI], AX
		MOV AX, SEG SERVER2
		MOV SI, 00C6H
		MOV [SI], AX
		CLI

		;初始化主片8259
		MOV AL, 11H				;0001 0001 级联,边沿触发,要ICW4
		OUT 20H, AL				;ICW1
		MOV AL, 08H				;0000 1000 中断类型号从8开始
		OUT 21H, AL				;ICW2
		MOV AL, 04H				;0000 0100 IR2从片
		OUT 21H, AL				;ICW3
		MOV AL, 03H				;0000 0011 非缓冲方式,8086/8088配置
		OUT 21H, AL				;ICW4
 
		;初始化从片8259
		MOV AL, 11H				;ICW1 0001 0001 级联,边沿触发,要ICW4
		OUT 0A0H, AL		
		MOV AL, 30H				;ICW2 0011 0000 终端类型号从30H开始
		OUT 0A1H, AL				
		MOV AL, 02H				;ICW3 0000 0010 通过IR1引脚连接主片
		OUT 0A1H, AL		
		MOV AL, 03H				;ICW4 0000 0011 非缓冲方式,8086/8088配置
		OUT 0A1H, AL				
		MOV AL, 0FDH
		OUT 0A1H,AL				;OCW1 = 1111 1101	
		STI
 
WAIT1:	MOV DL,'6'				;源程序无限输出字符6
		MOV AH, 02H
		INT 21H		
		PUSH CX
		MOV CX,0000H	
WAITS0:	
		PUSH AX
		POP AX
		LOOP WAITS0
		
		JMP WAIT1
 
SERVER1:	STI					;中断服务程序1,输出10个字符7
		MOV CX,000AH
PRINT10:
		PUSH CX
		MOV DL,'7'
		MOV AH, 02H
		INT 21H	
		MOV CX, 0000H			;CX=0000H 最大循环数
WAITS1:							;延时程序
		PUSH AX
		POP AX
		LOOP WAITS1
		POP CX

		LOOP PRINT10
		MOV AL, 0A0H
		OUT 20H, AL			
		OUT 0A0H, AL	
		IRET
 
SERVER2:	STI				    ;输出一个字符8
        MOV DL,'8'         
		MOV AH, 02H
		INT 21H	
		IRET
CODE	ENDS
		END  START

实验结果

实验结果类似如下所示:
66666666667777787777766666666666686666677777777776666666666666666666666

  • 3
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值