80x86汇编语言程序设计课内实验报告1

上传人:第*** 文档编号:34059393 上传时间:2018-02-20 格式:DOCX 页数:6 大小:102.39KB
返回 下载 相关 举报
80x86汇编语言程序设计课内实验报告1_第1页
第1页 / 共6页
80x86汇编语言程序设计课内实验报告1_第2页
第2页 / 共6页
80x86汇编语言程序设计课内实验报告1_第3页
第3页 / 共6页
80x86汇编语言程序设计课内实验报告1_第4页
第4页 / 共6页
80x86汇编语言程序设计课内实验报告1_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《80x86汇编语言程序设计课内实验报告1》由会员分享,可在线阅读,更多相关《80x86汇编语言程序设计课内实验报告1(6页珍藏版)》请在金锄头文库上搜索。

1、80X86 汇编语言程序设计课内实验报告班级 计算机 94 实验时间 2010 年 4 月 24 日姓名 许静文 学号 09055072实验内容概述实验一:熟悉汇编语言实验环境(masm、link、debug/td )并练习书中实例,使用 Debug 调试命令:a, d, t, g, r, u, q 等对程序进行调试。实验二:5.15 数据段中已定义了一个有 n 个子数据的数组 M,试编写一段程序求出 M 中绝对值最大的数,把它放在数据段的 M+2n 单元中,并将该数的偏移地址存放在 M+2(n+1)单元中。实验三:5.13 在 STRING 到 STRING+99 单元中存放着一个字符串,试

2、编制一程序测试该字符串中是否存在数字。如有,则把 CL 的第五位置 1.,否则将该位置为 0。实验步骤 实验一:使用书上例题 5.1试编织一个程序把 BX 寄存器内的二进制数用十六进制数的形式在屏幕上显示出来。举例程序:prognam segmentmain proc fatassume cs:prognamstart:push dssub ax,axpush axmov ch,4rotate:mov cl,4 rol bx,clmov al,bland al,0fhadd al,30hcmp al,3ahjl printitadd al,7hprintit:mov dl,almov ah,2

3、int 21hdec chjnz rotateretmain endpprognam endsend在试验中熟悉使用 masm、link、debug/td 中的各种调试命令:a, d, t, g, r, u, q 等。 调试结果:在 debug 中使用 a,d,t,g在 debug 中使用 r,u,q实验二:实验代码:data segmentx1 DW 100 DUP(?)datamax DW ?Addr DW ?Data endscode segmentmain proc farassume cs:code ds:datastart:push dssub ax,axpush axmov ax

4、,x1mov ds,ax;main part of program goes herebegin: mov cx, 0064h lea DI, x1 mov ax, DI cmp ax, 0 jns zheng neg ax zheng: mov bx, DI cmp bx, 0 jns compneg bx comp: cmp ax, bxjae youxiaodizhi mov ax, bx mov Addr, DIyouxiaodizhi:add DI, 2 loop zheng mov datamax, ax ret main endpcode endsend start调试结果:实验

5、三:实验代码:dseg segmentstring db 100dup(?)dseg endscseg segmentmain proc farassume cs:cseg,ds:dsegstart: push dssub ax,axpush axmov ax,dseg mov ds,axbegin: mov si,0mov cx,100repeat: mov al,stringsicmp al,30hjb go_oncmp al,39hja go_onor cl,20hjmp exitgo_on: inc siloop repeatand cl,0dfhexit: retmain endpc

6、seg endsend start调试结果:实验中遇到的问题 问题及其解决方法 调试中无法看到有效的数据变化 问题是在实验三中遇到,解决的思路是通过老师的讲解明白没有在初始中设置数据,无法进行比较,所以位置没有变化。 解决问题的方法:通过在数据开始初始设置几个有用的有效数据,使得程序正常进行,能够观察到有效的数据位置变化。实验结果 1、 实验一:可以熟练将程序从.asm 建成.obj,直至形成.exe 文件,并运用 debug 中的相关操作来进行对系统内存及各寄存器的查询。2、 实验二:利用循环程序的设计方法,设计出进行循环比较的程序,在程序中使用变反,比较等语句将原数据进一步变成有绝对值,再得到最大值。3、 实验三:再次利用循环程序进行比较得到数字,并改变寄存器中内容。2011 年 4 月 24 日建议 无备注 实验三由于不在机房完成,使用了 Masm for Windows 集成试验环境,所以得到的调试结果截图与前两个不同,但主要内容相似。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号