汇编语言实验

汇编语言实验

ID:23139448

大小:54.00 KB

页数:7页

时间:2018-11-04

汇编语言实验_第1页
汇编语言实验_第2页
汇编语言实验_第3页
汇编语言实验_第4页
汇编语言实验_第5页
资源描述:

《汇编语言实验》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、汇编语言程序设计实验一DEBUG程序使用技巧学号:姓名:1.寄存器和内存开始Debug程序。输入“Q8”退出程序。再次启动Debug。输入“r8”来显示CPU的当前状态和寄存器中的当前内容。输入“rAX8”和“1234”,_______寄存器中的内容变为1234。输入“rDS8”和“2000”,_______寄存器中的内容变为2000。输入“dDS:10008”来显示数据段中80H字节数据,把数据抄在这里:输入“fDS:10001100778”再显示一次这80H字节。判断这条指令的作用是什么?再输入“d2000:10008”来显示数据段中80H字节数据。观察与前面的数据有无不同。

2、输入“d1900:01008”和“d1ff0:01008”来显示两个存储段中的内容。比较其中2000:0000段中的数据。相同段落中的数据相同么?根据你的观察,得出结论,是否程序员可以用不同的段起始地址和偏移量组合,把不容内容存入相同的内存段中。2.输入机器码,使用单步和断点退出Debug,再重新启动Debug。输入“r8”观察CPU的状态,下一条指令是什么?使用两种方式输入一段程序,第一种方式:直接输入机器码。输入“u8”来显示程序段中的指令序列。然后输入“dCS:1008”来显示代码段中的数据。观察显示内容。“uCS:1001068”做反汇编,就是显示出汇编语句。将这几句汇编

3、语句记录下来:使用输入“r8”观察CPU的状态,使用“t8”来跟踪程序,直至最后一条指令执行完毕。注意,跟踪程序前,要让IP寄存器中的值是100H。一直监视AX和IP寄存器的内容变化,尤其是标志位的变化。第二种方式,是输入汇编语句。重启Debug程序。先输入“aCS:1008”,然后输入:MOVAX,FF00ADDAX,01F0MOVBX,AXNEGBXADDAX,BX输入“uCS:10010A8”就可以得到这几条语句的机器码。把机器码记录下来:使用命令“rip8”再输入“1008”,可以将寄存器IP中的内容置为“100H”。再输入“r8”观察CPU的状态,然后反复输入“t8”跟

4、踪程序,直到程序结束。解释为什么标志位内容会有改变?另外,说明这段程序完成什么任务?重新把寄存器IP的内容变为100H,不使用跟踪命令“t”,改用“g10c”来完成程序。程序中还可以加断点,做法是在程序中加入“int3”这条指令。如果这条指令在程序的末尾,我们可以通过输入“g8”来完成运行程序。这样就不需像上面需要告诉Debug程序最后机器码字节的地址偏移量了。“int3”是Debug中很有效的返回控制指令。把这条指令放在程序中必要的位置上,在这条指令后面的代码在不允许时就不会运行。3.ASCII字符码,从键盘输入,从显示器输出(i)标准ASCII(AmericanStandar

5、dCodeforInformationInterchange)码使用7-bit二进制数来代表字符。一般文本信息经常用ASCII编码。使用命令“aCS:1008”,输入下面的代码:MOVBX,0MOV[BX],BLINCBXCMPBH,1JNE103INT3使用“dDS:01008”命令,显示程序运行前相应内存段中的数据。运行上面的程序来填充DS:0000-00FF这段内存中的内容。再次输入“dDS:01008”命令来显示填充的内容。在窗口的右边,可以看到相应的ASCII码字符。如果填充的内容不是字符,显示就用点表示。用类似方法,如何将字符串“Howareyou?”写入计算机内存呢

6、?(ii)计算机的BIOS(BasicInput/OutputSystem)程序有很多子程序,用来通过标准外设处理输入和输出,比如,键盘和显示器。BIOS的程序都可以通过称为系统中断的特殊指令被调用。例如:INT16H返回值是把下一个键盘输入值送入寄存器ALINT10H当BH=0时,将光标移到由寄存器DH和DL内容所指定的行和列的位置上INT21H当AH=2时,将DL中的内容作为ASCII码的字符显示出来INT21H当AH=9时,将位于DS:DX的内容显示为字符串(一个ASCII码序列由$符作结束符)。(ii)(a)将下列代码输入程序段CS:0100中:MOVAH,0INT16H

7、INT3JMP100使用“uCS:1001108”命令,将程序转换为机器码。其中“JMP100”的机器码是“EBF9”。如果使用的是相对寻址方式,我们可以猜测出机器码中“F9”的含义么?相对寻址方式比绝对地址方便的地方是什么?重置IP的内容为100H,再输入“g8”来执行程序。程序中断时,输入字母“B”,检查寄存器AL中的内容为:_________重复上面的动作,但输入不同字母,记录下每次AL中的内容,能不能判断出来,这段程序的功能是什么?(ii)(b)将下面的代码输入CS:20

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。