- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
中断程序设计摘要.doc
汇 编 语 言 实 验 报 告
Assembly Language Programming Lab?Reports
______________________________________________________________________________
班级: 姓名学号: 实验日期:
学院: 专业:
实验顺序: 原创:___ 实验名称:中断程序设计
实验分数:_______ 考评日期:________ 指导教师:
______________________________________________________________________________
实验目的
掌握中断的类型,软件中断和硬件终端。
掌握中断处理的过程,理解中断类型,中断向量。
掌握系系统中断以及功能调用。
可以自己设计中断程序
______________________________________________________________________________
实验环境
操作系统:windows 8
编译程序:masm 5.0
______________________________________________________________________________
实验步骤及结果分析
1.设计自己的中断
.model small
.stack
.code
mess db press 1 to use selfintereput$
mess2 db wrong
mess3 db My name is ZhangXu$
main proc far
start:
mov ax,@code
mov ds,ax
mov dx,offset myname
mov ax,seg myname
mov ds,ax
mov ah,60h
mov ah,25h
int 21h ;设置中断向量
mov dx,offset mess
mov ax,seg mess
mov ds,ax
mov ah,9h
int 21h
mov dl,0dh
mov ah,2
int 21h
mov dl,0ah
int 21h
mov ah,1
int 21h
cmp al,1
jnz m2
mov ah,60h
int 21h
jmp next
m2:
mov dl,0dh
mov ah,2
int 21h
mov dl,0ah
int 21h
mov dx,offset mess2
mov ax,seg mess2
mov ds,ax
mov ah,9h
int 21h
next:
main endp
myname proc far
sti
mov dl,0dh
mov ah,2
int 21h
mov dl,0ah
int 21h
mov cx,10
bef:
mov dl,*
mov ah,2
int 21h
loop bef
mov ax,seg mess3
mov ax,ds
mov dx,offset mess3
mov ah,9
int 21h
mov cx,10
aft:
mov dl,*
mov ah,2
int 21h
loop aft
cli
iret
myname endp
end start
2,对原有的中断进行修改
.model small
.stack
.code
mess1 db 0ah,0dh,enter interrupt!,0ah,0dh,$
mess2 db 0ah,0dh,exit interrupt!$
mess3 db 0ah,0dh,Continue or Quit(c/q)?$
;主程序
main proc far
start:
mov ax,@code
mov ds,ax
;中断设置
;取出原中断向量
mov al,0
mov ah,35h ;取出原来的0号中断向量
int 21h ;放在ES:BX中
push es ;入栈保存
push bx
push ds
;设置新的中断向量 ;相当于25h号功能
mov dx,offset showerr ;获得子程序偏移地址
mov ax,seg showerr ;获得子程序段地址
mov ds,ax
mov ax,0
mov es,ax ;0段,向量表
mov bx,0 ;现在的0号
mov cl,2
shl bx,cl
mov word ptr es:[bx],dx ;中断向量放入中断向量表中
mov word ptr es:[bx+2],ds
;应用部分
conti:
mov dx,offset mess1 ;显示提示1
mov
文档评论(0)