谢强汇编实验报告

谢强汇编实验报告

ID:44157829

大小:897.76 KB

页数:35页

时间:2019-10-19

谢强汇编实验报告_第1页
谢强汇编实验报告_第2页
谢强汇编实验报告_第3页
谢强汇编实验报告_第4页
谢强汇编实验报告_第5页
资源描述:

《谢强汇编实验报告》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、综合实验报告(2009—2010年度第1学期)名称:《汇编语言程序设计》综合实验题目:实验题目1、2、3、4、5、6院系:计算机系班级:计科0802班学号:200809010220学生姓名:谢强指导教师:王保义设计周数:LJ3成绩:日期:2010年1月8日1:用表格形式显示ASCII字符一、综合实验的目的与要求实验目的:用表格形式显示ASCII字符SMASCII实验要求:按15行勺6列的表格形式显示ASCII码为10H-100H的所有字符,即以行为主的顺序及ASCII码递增的次序依次显示对应的字符

2、。每16个字符为一行,每行屮的相邻两个字符Z间用空白符(ASCII为0)隔开。二、综合实验正文思想:⑴显示每个字符可使用功能号为02的显示输岀功能调用:movah,02hmovdlint21h木题屮,可初始化dl为1()H,然后用INC指令使其自增1,以取下一个字符的ASCII码。⑵显示空白符时,用其ASCII码0置入DL寄存器屮。每行结束时,用显示回车(ASCII为Odh)和换行符(ASCII为0曲)来结束本行并开始下一行。代码如下:movah,02hmovdLOdhint21hmovah,02

3、movdl,Oahint21h⑶为实现15*16的行列,给CX赋值16以实现循环输出每行的十六个字符,每当CX=0时,就输出回车换行,给BX赋值为0,每输出一行就加1,判断BX是否等于15,若等于则结束,否则继续循环输出下一行字符。由于逐个显示相应的ASCII字符时,需要保存并不断修改dl寄存器的内容,而是显示空白回车也要使用dl寄存器,为此对使用堆栈來保存相继的ASCII字符°具体方法是:在显示空白或回车换行符前用指令:pushdx在换行后:popdx恢复dl寄存器的原始内容程序流程图:程序代码

4、如下:prognamsegmentmainprocfarassumecs:prognamstart:pushdssubax,axpushaxmovalJOhmovbx.Oa:movexJ6b:movah,02hmovdl,alint21haddalJpushaxmovah,02hmovdl,OOhint21hpopaxloopbpushaxincbxmovah,02hmovdl,Odhint21hmovah,02hmovdl,Oahint21hpopaxempbxJ5jbaretmainendpp

5、rognamendsendstart程序执行结果;DH1$4D§z5ewt<8hx;K[k三、综合实验总结本次实验较为简单,思路相对比较容易想到。通过本次实验我掌握了寄存器的应用方法,同时理解了怎么控制行列循环。程序编写过程中,由于寄存器内的数值变化较多,容易产生错误,因此编写程序之前我先画好流程图,所以编写过程一气呵成,没有遇到什么问题。本次实验中,我用DEBUG对程序进行了调试,初步掌握了DEBUG的基本操作。总之,这个实验让我熟悉了汇编程序的上机,收获颇丰。四、参考文献[1]沈美明,温冬婵

6、.TBM-PC汇编语言程序设计(第二版)•清华大学出版社,2006,512J沈美明,温冬婵.张赤红.IBM-PC汇编语言程序设计实验教程.清华大学出版.笫一版2005.62.查找匹配字符串一、综合实验的目的与要求实验目的:查找匹配字符串SEARCH实验要求:程序接收用户键入的一个关键字以及一个句子。如果句子中不包括关键字则显示'Nomatch!';如果句子中包含关键字则显示’Match',且把该字在句子中的位置用十六进制数显示出来。要求程序的执行过程如下:Enterkeyword:abcEnter

7、Sentence:Wearestudingabc.Matchatlocation:11Hofthesentence.EnterSentence:xyz,OK?Nomatch.EnterSentence:AC二.综合实验正文思想:(1)输入关键字和一个句子,分别存入相应的缓冲区中。可用功能调用OAH。leadx,缓冲区的首地址movah.Oahint21h(2)输出一段字符串可用功能调用09H,leadx,输出字符串的首地址,以芍”结尾movah,09hint21h(3)关键字和句子相应字段的比较可

8、使用串比较指令,为此确定相应寄存器的含义如下:S1为关键字的指针D1为句子中正相比较的字段的指针CX存放关键字的字母个数(长度)SI(4)整个句子和关键字的比较过程可以用一个循环机构来完成。循环计数为:(句子长度一关键字长度)+1在循环屮,如果遇到句子反度小于关键字长度的就转向显示“Nomatch!”(5)关于兀配成功后,显示位置的情况,需要把记录位置的二进制转化为十六进制程序流程图查找匹配字符串程序、•、•丿程序代码如下:DATASEGMENTstllabelbytemaxidb

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

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

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