- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
微机原理与嵌入式系统次北京联合大学
北京联合大学
微机原理与嵌入式系统
实验报告
学 院: 信息学院 专 业: 计算机科学与技术
课 程:微机原理与嵌入式系统 班 级: 计科1203B
姓 名: 王晴 学 号: 2012080332021
2015年 6 月 19日
Debug的使用(基础与验证型)
一、实验目的及任务
目的:深入了解中断服务。
熟练掌握使用DEBUG命令动态调试程序、
了解汇编语言循环程序设计的基本流程;
熟悉汇编语言循环基本指令的使用方法;
掌握利用汇编语言的循环指令完成循环程序设计方法。
任务:(1)???在DOS提示符下,进入Debug程序。
(2)??? 详细记录每一步所用的命令,以及查看结果的方法和具体结果。
(3)编写80H(20H)号中断服务程序,使其具有显示以“0”结尾字符串的功能?(利用显示器功能调用INT10H。)字符串缓冲区首地址为入口参数,;利用DS:DX(段基地址:偏移地址)传递。
(4) 8259A的IPQ0(向量号为08H)的中断请求来自定时器8253,每隔55MS产生一次。DOS系统利用它实现日时钟计时功能。本程序用新的08H号中断服务程序暂时替代计时程序,使得每次中断显示一串信息,显示10次后,恢复原中断服务程序,返回DOS。
二、原理
(一)通过编辑、汇编和连接后的程序是可以执行的程序。但是,一个程序特别是比较复杂的程序不能保证没有一点错误。因此,在投入正式运行前必须进行调试,以检查程序的正确性。调试程序Debug就是用来调试汇编语言程序的一种工具。Debug的主要功能有显示和修改寄存器及内存单元的内容;按指定地址启动并运行程序;设置断点使程序分段运行,以便检查程序运行过程中的中间结果或确定程序出错的位置;反汇编被调试程序,它将一个可执行文件中的指令机器码反汇编成助记符指令并同时给出指令所在的内存地址;单条追踪或多条追踪被调试程序,它可以逐条指令执行或几条指令执行被调试程序,每执行一条(或几条)指令后,Debug程序将中断程序的运行并提供有关结果信息;汇编一段程序,在Debug的汇编命令下可以直接输入助记符指令,并将其汇编成可运行程序段。此外,Debug还可以将磁盘指定区的内容或一个文件装入到内存或将内存的信息写到磁盘上等等。
启动Debug程序:在DOS状态下可以用下面的命令启动Debug程序:
DEBUG [路径文件名.扩展名]
Debug后面的文件名及路径是指被调试程序的文件名及路径,Debug后面的文件必须是程序的可执行文件,其扩展名可以是.EXE 或.COM。在此命令后,DOS将调试程序Debug调入内存,Debug接着将被调程序送入内存。比如:DEBUG 123.EXE
(二)中断服务程序入口地址设置(DOS功能调用INT21H)
功能号:AH=25H
入口参数:AL=中断向量号,DS:DX=中断服务程序入口地址
获取中断服务程序入口地址(DOS功能调用INT21H)
功能号:AH=35H
入口参数:AL=中断向量号,
出口参数:ES:BX=中断服务程序入口地址
(三)为了获知中断次数,我们用主存单元(共享变量)在主程序与外部中断服务程序之间传递参数,显示信息也安排在共容的数据段中
三、代码及截图分析
程序一:内部中断服务程序
编写80H号中断服务程序,使其具有显示以“0”结尾字符串的功能(利用显示器功能调用INT 10H)。字符串缓冲区首地址为入口参数,利用DS:DX(段基地址:偏移地址)传递。
.model small
.stack
.data
intoff dw ?
intseg dw ?
intmsg db A Instruction Interrupt !,0dh,0ah,0
.code
start: mov ax,@data
mov ds,ax
mov ax,3580h
int 21h
mov intoff,bx
mov intseg,es
push ds
mov dx,offset new80h
mov ax,seg new80h
mov ds,ax
mov ax,2580h
int 21h
pop ds
mov dx,offset intmsg
int 80h
mov dx,intoff
mov ax,intseg
mov ds,ax
mov ax,2580
您可能关注的文档
最近下载
- 林肯电梯LCM28-Ⅱ模拟量一体式使用说明(1).pdf
- 水浒传中的30个主要人物的简介和主要事迹.docx
- PasswortD A1 听力原文-德语学习资料.pdf
- 施工安全风险分析及风控措施.pptx
- 佑风微WRMSB40J-WRMSB40K-WRMSB40M-UMSB规格书.pdf VIP
- 部编人教版语文七年级下册全册优秀课件(共2套-共1142张PPT).pptx
- 小学英语语法:一般过去时.ppt VIP
- 高一物理02平抛运动-讲义(教师版).pdf
- 桥梁工程毕业设计(论文)-3×30m预应力混凝土先简支后连续T型梁桥设计.doc VIP
- 07FJ02防空地下室建筑构造.docx VIP
文档评论(0)