欢迎来到天天文库
浏览记录
ID:12470237
大小:65.50 KB
页数:4页
时间:2018-07-17
《汇编语言子程序设计实验》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、湘潭大学实验报告课程:80X86汇编语言程序设计实验题目:汇编语言子程序设计学院:信息工程学院专业:14级计算机科学与技术二班学号:2014551418姓名:周宇指导教师:匡林爱完成日期:2016.5.4一、一、实验内容编程实现一个任务,任务可分为多个子程序来实现。二、实验环境硬件环境:一台微型计算机软件环境:Window7系统、debug环境、masm三、实验代码设计DATASSEGMENT;此处输入数据段代码DATASENDSSTACKSSEGMENT;此处输入堆栈段代码STACKSENDSDSEG
2、SEGMENTSTRINGDB'AB=C1234hello5world',0;假设的字符串DSEGENDSCSEGSEGMENTASSUMECS:CSEG,DS:DSEGISDECMPROC;子程序,判断一个字符是否为数字符CMPAL,'0'JBISDECM1CMPAL,'9'+1CMC;把CF标识取反ISDECM1:RETISDECMENDP;CODESSEGMENT;ASSUMECS:CODES,DS:DATAS,SS:STACKSSTART:;MOVAX,DATAS;MOVDS,AX;此处输入代码
3、段代码2MOVAX,DSEGMOVDS,AXMOVSI,OFFSETSTRING;置取指针MOVDI,SI;置存指针NEXT:MOVAL,[SI]INCSIORAL,AL;是否到字符串尾JZOK;是,转CALLISDECM;否,判断是否为数字符JNCNEXT;是,不保存而处理下一个字符MOV[DI],AL;否,保存INCDIJMPNEXT;处理下一个字符OK:MOV[DI],ALMOVAH,4CHINT21HCSEGENDSENDSTART该程序用来把一个字符串中的数字符去掉,其中用到了子程序ISDEC
4、M,子程序ISDECM用来判别一个字符是否为数字符。一、实验结果与截图实验结果截图如下开始字符串为“AB=C1234hello5world”2可知最后的结果为“AB=Chelloworld”一、心得体会通过这个实验,学会了汇编中子程序的设计,掌握了其中的入口参数和出口参数的传送,对汇编程序的结构更加了解,在其中用到了字符串的处理,也学到了一些对字符串处理的方法和技巧,代码的完成不是一气呵成的,其中有很多逻辑错误和没有考虑到的地方,花了写时间来找其中的bug,和高级语言相比,找bug会稍微更加麻烦,而且编
5、写代码时需要考虑很多细节,如地址指针加一,寄存器的值要保证不会被随意的修改,这是在高级语言所没有的,编写程序的思路更加严谨。2
此文档下载收益归作者所有