汇编语言常见问题实验报告(带正确源代码)

汇编语言常见问题实验报告(带正确源代码)

ID:30333998

大小:140.82 KB

页数:34页

时间:2018-12-29

汇编语言常见问题实验报告(带正确源代码)_第1页
汇编语言常见问题实验报告(带正确源代码)_第2页
汇编语言常见问题实验报告(带正确源代码)_第3页
汇编语言常见问题实验报告(带正确源代码)_第4页
汇编语言常见问题实验报告(带正确源代码)_第5页
资源描述:

《汇编语言常见问题实验报告(带正确源代码)》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、汇编语言程序设计实验报告计科0803余廷钊20084206920107-733实验一:字符回显实验目的:掌握DOS1号功能的调用。实验原理:ah里面放功能号。用int21调用。开始实验内容:codesegmentah=1assumecs:codestart:movah,1;功能号放入ahint21hint21h;调用DOS功能movah,4ch;返回DOS结束int21hcodeendsendstart结果分析:DOS1号功能可以把键盘的输入回显到屏幕上。技术支持:Michael实验二:显示字符T实验目的:掌握DOS2号功能

2、的调用。实验原理:ah里面放功能号。DL里面放要显示的字符,用int21调用。开始实验内容:codesegmentassumecs:codeah=2start:movdl,'T'DL=‘T’movah,2;功能号存入int21h;调用int21hmovah,4chint21hcodeends结束endstart技术支持:Michael33结果分析:DOS2号功能可以吧DL中的数据按照它对应的ASK码字符输出。实验三:显示‘howareyou’实验目的:掌握利用DOS功能显示字符串。实验原理:DOS9号功能可以把DS:DX中的

3、字符串显示出来,一‘$’为结束识别。实验内容:开始datasegmentmessagedb'Howareyou?',13,10,'$'dataends数据段首地址送到DScodesegmentassumecs:code,ds:datastart:功能号送到AHmovax,datamovds,ax;数据段地址给dsmovah,9调用DOS功能显示字符串movdx,offsetmessage;送入偏移地址int21h;功能调用movah,4chint21h结束codeendsendstart结果分析:DOS9号功能可以把以DS:

4、DX为首地址,以‘$’为结束的字符串输出。实验四:小写转大写实验目的:掌握一些基本的程序分支编写方法。实验原理:利用CMP比较来判断是否为小写字母,在利用SUB将小写字母的ASC码转换为大写的ASC码。实验内容:输入一个小写字母,输出它所对应的大写字母。datasegmenterrorworddb'error',13,10,'$';错误提示信息dataends33CODESSEGMENTASSUMECS:CODESSTART:movax,datamovds,ax;数据段地址放入ds开始movah,07hint21h;输入一个

5、小心字母输入字符cmpal,'a'jlerror;输入不合法cmpal,'z'是否小于ajgerror;输入不合法,直接输出出错信息subal,20h;小写变大写movdl,almovah,02h否int21hjmpover是是否大于zerror:leadx,errorword否movah,09hint21h;输出出错信息输出出错信息转为大写over:MOVAH,4CHINT21HCODESENDSENDSTART结束结果分析:CMP对两个数比较过后标记会发生改变,可以根据标记寄存器的情况来判断两个数的大小情况,再利用jmp

6、等语句可以实现类似于C语言中if的功能。问题讨论:用CMP对两个数进行比较之后,标志寄存器里面哪些标记位发生了变化?有哪些跳转语句可以对这些标志位进行判断?CMPAL,BLAL>BLCF=0AL

7、个F实验目的:在程序中编写循环语句。实验原理:LOOP语句可以达到循环。实验内容:开始输出10个F到显示器上。codesegmentassumecs:code对功能调用初始化start:movdl,'F'movcx,10;置循环次数设置循环次数movah,2again:功能调用int21h;显示loopagain否CX减1(自动)movah,4ch;返回DOSint21h判断循环标志CX是否为0为0codeendsendstart是结束结构分析:LOOPAGAIN语句可以使AGAIN与LOOP直接的语句执行CX中对应数据的次

8、数。问题讨论:33不用LOOP可以做出循环吗?可以利用CMP和JZ等语句实现。实验拓展:如果要输出10行10列的F,怎么嵌套循环。可以用一下语句实现:movbl,10repeat:movcx,10again:int21hloopagain(输出回车的语句)decblcmpbl,0jnzre

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

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

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