- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PAGE \* MERGEFORMAT- 1 -
汇编与接口实验
PAGE \* MERGEFORMAT- 3 -
汇编与接口实验
PAGE \* MERGEFORMAT- 2 -
《汇编与接口第一次实验》
第一次实验
作业题目:
一、实验目的
1.进一步学习汇编语言基本指令使用方法;
2.学习DEBUG调试工具的基本使用方法;掌握debug调试命令a、u、r、d、t、g等
3.逐条观察程序指令的执行过程,理解指令的功能,理解程序自动、顺序地执行的概念,实践其过程(重点)。
二、实验题目
1.编写、输入一个32位二进制数相加程序,逐条执行指令,观察指令执行情况。
2.使用已经过汇编和连接的小程序(t3-2.exe),将其装入内存,逐条执行指令,观察执行过程和结果。在实验过程中,使用D命令修改XXX和YYY单元中的数据,再重新计算其结果。4、如果在一个程序开始执行之前(CS)=0A7F0H(如果十六进制数的最高位为字母,则应该在其前加1个0),(IP)=2B40H,试问该程序的第1个字的物理地址是多少?
实验第一部分
1. 启动计算机的WINDOWS操作系统,在开始菜单中找到“运行”,输入“cmd”后回车,启动ms-dos command程序,再在该程序内输入“DEBUG”并按回车,即启动DEBUG调试程序。
2. 开始编程
在启动的debug程序里输入a命令进入编程功能
在编程部分逐条输入32位二进制数相加程序的指令,完成无符号和1200ffffH的加法操作,程序的代码见图1:
图 SEQ 图 \* ARABIC 1,程序编写,r指令(执行前),u指令
对32位数的低16位操作时,存放初始地址是0AE1:0100,
使用U命令对代码进行反汇编我们可以看到对应地址中所存放的指令和他们对应的长度,可以看到MOV和ADD指令的的长度都是3,但ADC的指令长度为4,因为ADC指令中需要考虑进位CF所以比MOV和ADD多了一位长度,如上图。
使用r命令后,可以看到指令执行前各寄存器的内容,CS:IP的内容为0100,下一条执行的指令为MOV AX,0100,操作数寻址为立即数寻址,内存单元的值为0100H。
图 SEQ 图 \* ARABIC 2
使用t命令单步执行指令后,所得结果见上图2,执行过程中,CS:IP的内容随指令长度的变化依次增加,标志位寄存器只有PF,CF的值在计算过程中有变化,其中在两次CF的标志位CY时表示有进位发生,OF一直为NV,表明计算结果没有溢出。
图 SEQ 图 \* ARABIC 3
对程序使用r命令查看寄存器AX,DX的值,见上图3,可知,AX=00FF,DX=2201,CF=0,说明运算结果低16位为00FF,高16位为2201,无进位,即结果是220100FF,计算正确。
图 SEQ 图 \* ARABIC 4
使用d命令查看程序运行过后的结果如上图4,可以看到,内存单元的存放顺序是低地址放低字节,高地址放高字节,同时数据的存放是按顺序连续存放的,指令的存放与数据是同时的,都存放在连续的内存地址中。
图 SEQ 图 \* ARABIC 5
使用e命令对内存单元的内容进行修改,再次运行程序,可见结果也有了相应的改变。如下图。
图 SEQ 图 \* ARABIC 6
使用g指令再次运行程序,可以看到运算结果也相应改变。
图 SEQ 图 \* ARABIC 7
实验第二部分
图 SEQ 图 \* ARABIC 8
将写的asm文件转化成exe文件,如上图
图 SEQ 图 \* ARABIC 9
运行debug程序,u命令进行反汇编,查看程序内容,运行r命令查看寄存器内容和下一条将要执行的内容,由于这里我们并没有开始运行程序,因此寄存器的内容都为原初始内容,如上图。
图 SEQ 图 \* ARABIC 10
t指令运行程序,如上图,可以看到IP的值在对应着我们u命令查看的指令的地址进行递增。
在这几步中标志位发生变化有ZF和PF,其中在XOR DX DX时两个相同的数进行异或操作结果是零因此结果是零,所以ZF=ZR。其中[0000]是间接寻址。
图 SEQ 图 \* ARABIC 11
继续运行指令,在这几步中,我们可以看到,在上一步的结尾的ADD AX AX可以看到AX变为2468(1234+1234),ADD DX DX 的结果仍然是ZR(零)。在上图中的OF标识符发生变化,原因是ADD AX AX 命令后AX寄存器的数值的最高位(符号位发生改变)。
继续运行指令,在这几步的运行过程中,ADD AX AX,后由于符号位改变所以OF = OV,因为产生进位,因此进位标志CF = CY,结果是2348 进1。
将AX中的数据存入0004指向的内存单元中
您可能关注的文档
- (课堂教学课件3)我爱你-汉字.ppt
- (历史)江苏省溧水高级中学2017-2018年高二下学期期中考试+历史+Word版含答案.doc
- (旅游地理选修本)旅游资源-北师大.ppt
- (绿皮)助理物流师理论知识考核模拟.doc
- (清晰版)河北省2018年中考化学试题和答案.doc
- 【北师大版】八年级历史下册全册复习课件【课件】(共84张).ppt
- 2018年湖北省咸宁市中考数学考试试卷(答案+解析).docx
- 2018年湖北省孝感市中考数学考试试卷(答案+解析).docx
- 2018年湖北中考物理模拟试题和答案.doc
- 2018年湖南省益阳市中考物理考试试卷(含解析).doc
- 中国行业标准 GM/T 0126-2023HTML密码应用置标语法.pdf
- 《JJF 2121-2024恒转速源校准规范》.pdf
- 餐饮服务中20条处理要点.docx
- 《GM/T 0011-2023可信计算 可信密码支撑平台功能与接口规范》.pdf
- 《JJF 2134-2024旋转流变仪校准规范》.pdf
- JJF 2121-2024恒转速源校准规范.pdf
- 计量规程规范 JJF 2121-2024恒转速源校准规范.pdf
- 《JJF 2118-2024压力式六氟化硫气体密度控制器校验仪校准规范》.pdf
- JJF 2134-2024旋转流变仪校准规范.pdf
- 计量规程规范 JJF 2134-2024旋转流变仪校准规范.pdf
最近下载
- 2024年高考地理新课标卷试题答案解析及备考指导课件.pdf
- 铸牢中华民族共同体意识-考试复习题库(含答案).docx VIP
- 2024年党纪学习教育ppt(党课).pptx VIP
- 至为芯科技多串锂电池充放电芯片IP5389 datasheet_cn_v1.02(1)(2).pdf
- 2024年四川凉山昭觉县事业单位招聘60人历年公开引进高层次人才和急需紧缺人才笔试参考题库(共500题)答案详解版.docx
- 全国托育大赛中职组(教师)备赛复习试题附答案.doc
- 金匮要略的基础知识点总结(考试必备).doc VIP
- 爱在日落黄昏时Before.Sunset.2004中英表格台词剧本.pdf
- PADI开放水域潜水员理论考试A卷.docx
- 项目经理考核细则.docx
文档评论(0)