当前位置:网站首页>微机原理与技术接口 实验四 子程序及中断实验
微机原理与技术接口 实验四 子程序及中断实验
2022-07-17 15:33:00 【张时贰】
2022.6.9 早八 实验四
实验四 子程序及中断实验
前言
本文章是 【微机原理技术接口】 专栏的文章,主要是实验内容
微机原理技术接口专栏 传送门
提示:本文的环境是emu8086仿真系统。
1.1 实验要求
熟悉emu8086仿真系统
实现子程序和中断服务子程序的设计
编写子程序设置40H中断为自定义中断服务子程序
编写中断服务子程序实现AX=AX+BX
编写主程序调用子程序和中断
1.2 理论分析
编写子程序设置40h为自定义中断服务子程序,修改中断向量表存放中断服务程序的偏移地址和段地址。之后通过INT 40H跳转中断服务程序计算AX+BX的值
1.3 汇编语言
提示:所有实验源码已在Github整理
;AX+BX
CALL P ;跳转P
MOV AX,1
MOV BX,2
INT 40H ;跳转中断服务程序
HLT ;JMP $
;子程序P 修改中断向量
P PROC NEAR
MOV AX,0
MOV ES,AX ;段地址
MOV DI,40H*4 ;偏移地址
MOV AX,OFFSET INT40H
MOV ES:[DI],AX
MOV AX,CS
MOV ES:[DI+2],AX
RET
P ENDP
;中断服务子程序
INT40H PROC FAR
ADD AX,BX
IRET
INT40H ENDP
1.4 实验结果

AX=01,BX=02。执行ADD后,AX=3

思考内容:
中断向量表结构优缺点
硬件电路实现中断优先权排队的优点是中断响应快,使用灵活。每个中断源都有自己的中断服务子程序,不会相互影响,增加或者减少中断源都很方便。
缺点是接口电路比较复杂。特别是每个中断源需要有自己的标识,在8086CPU系统中这个标识称为中断类型号,还必须建立这个中断类型号和中断服务子程序的一一对应关系。
中断服务子程序调试方法
调用前,设置中断向量,将已经编写好的中断服务程序的入口地址写入中断向量表中。利用DOS功能调用
边栏推荐
- Region performance tuning
- Project construction depends on people, and success depends on people!
- Scrapy关键词 爬虫的简单实现(以新华网和人民网为例)
- 百度文档翻译api
- qt 实现遍历文件夹
- LeetCode_ 17_ Letter combination of telephone number
- Solve the problem that QQ mail and Thunderbird cannot log in to outlook
- Docker install MySQL
- The underlying principle of file operation (inode and hard and soft links, time attributes of files)
- Detailed explanation of MySQL show processlist
猜你喜欢

Learning note 3 -- basic idea of machine learning in planning control

Wechat applet cloud development 1 - Database

Redis分布式缓存-Redis集群

QT -- excellent open source project

Scrapy关键词 爬虫的简单实现(以新华网和人民网为例)

Focus on the new track of green development - release of MAPGIS intelligent environmental protection solution

Transport layer -------- TCP (I)

Valid bracket sequence of "Niuke | daily question"

Nintendo patent shows that the follow-up products of fitness ring accessories may be under development

01背包面试题系列(一)
随机推荐
MySQL cannot be started? Relevant components missing? System upgrade? Component mismatch? Start reinstalling MySQL
02-3、指針和引用的區別
延迟加载JS的方式
C语言绘图示例-分色调图20例
[unity technology accumulation] simple timer & Co process & delay function
数字化转型的两种误区
Leetcode 1328. Destroy palindrome string (yes, solved)
STL string 输入输出重载1
C# .NET 云南农信国密签名(SM2)简要解析
项目建设,谋事在人,成事亦在人!
02-2、缺省参数、函数重载、引用、隐式类型转换、关于报错
LeetCode_ 77_ combination
Redis分布式缓存-Redis集群
STL string输入输出重载2
C语言绘画示例-进度条
02-3、指针和引用的区别
Tikv thread pool performance tuning
Redis Distributed cache - Redis Cluster
TCP拥塞控制详解 | 7. 超越TCP
Flink