您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > 汇编语言子程序设计实验
湘潭大学实验报告课程:80X86汇编语言程序设计实验题目:汇编语言子程序设计学院:信息工程学院专业:14级计算机科学与技术二班学号:2014551418姓名:周宇指导教师:匡林爱完成日期:2016.5.41一、实验内容编程实现一个任务,任务可分为多个子程序来实现。二、实验环境硬件环境:一台微型计算机软件环境:Window7系统、debug环境、masm三、实验代码设计DATASSEGMENT;此处输入数据段代码DATASENDSSTACKSSEGMENT;此处输入堆栈段代码STACKSENDSDSEGSEGMENTSTRINGDB'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;此处输入代码段代码2MOVAX,DSEGMOVDS,AXMOVSI,OFFSETSTRING;置取指针MOVDI,SI;置存指针NEXT:MOVAL,[SI]INCSIORAL,AL;是否到字符串尾JZOK;是,转CALLISDECM;否,判断是否为数字符JNCNEXT;是,不保存而处理下一个字符MOV[DI],AL;否,保存INCDIJMPNEXT;处理下一个字符OK:MOV[DI],ALMOVAH,4CHINT21HCSEGENDSENDSTART该程序用来把一个字符串中的数字符去掉,其中用到了子程序ISDECM,子程序ISDECM用来判别一个字符是否为数字符。四、实验结果与截图实验结果截图如下开始字符串为“AB=C1234hello5world”3可知最后的结果为“AB=Chelloworld”五、心得体会通过这个实验,学会了汇编中子程序的设计,掌握了其中的入口参数和出口参数的传送,对汇编程序的结构更加了解,在其中用到了字符串的处理,也学到了一些对字符串处理的方法和技巧,代码的完成不是一气呵成的,其中有很多逻辑错误和没有考虑到的地方,花了写时间来找其中的bug,和高级语言相比,找bug会稍微更加麻烦,而且编写代码时需要考虑很多细节,如地址指针加一,寄存器的值要保证不会被随意的修改,这是在高级语言所没有的,编写程序的思路更加严谨。
本文标题:汇编语言子程序设计实验
链接地址:https://www.777doc.com/doc-6469248 .html