汇编实验六循环程序是设计(共5页).doc

上传人:飞****2 文档编号:13688521 上传时间:2022-04-30 格式:DOC 页数:5 大小:866KB
返回 下载 相关 举报
汇编实验六循环程序是设计(共5页).doc_第1页
第1页 / 共5页
汇编实验六循环程序是设计(共5页).doc_第2页
第2页 / 共5页
点击查看更多>>
资源描述

《汇编实验六循环程序是设计(共5页).doc》由会员分享,可在线阅读,更多相关《汇编实验六循环程序是设计(共5页).doc(5页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、精选优质文档-倾情为你奉上实 验 报 告 学年 第 学期实 验 课 程汇编语言学 生 姓 名123实 验 项 目循环程序是设计学 院计算机科学技术实 验 性 质专业选修课 班 级 学 号实 验 地 点同 组 人 数1第 组实 验 日 期第 周 星期 第 节成 绩4环 境 参 数Dosbox-0.74Masm 5.0一、 实验目的及要求二、 实验原理、实验内容三、 实验仪器设备及材料四、 操作方法与实验步骤五、 实验数据记录及处理六、 实验结果分析及讨论一、实验目的: 1灵活运用各类许循环指令,掌握循环程序的设计方法2 学会针对不同的问题,选用不同的组织循环的方法。 3伪指令 EQU 及操作符

2、$的使用。 4 COM文件的要求和生成过程。二、实验任务1编写程序:将一个包含有20个有符号数据的数组arrayM分成两个数组,正数数组arrayP 和负数数组arrayN,并分别把两个数组中的数据个数显示出来 源代码:;十一个正数 九个负数DATA SEGMENTarrayM DB 1,-1,2,-2,3,-3,4,-4,5,-5,6,-6,7,-7,8,-8,9,-9,0,10arrayP DB 20 DUP(?)arrayN DB 20 DUP(?)countP DB 0DATA ENDSCODE SEGMENTassume CS:CODE,DS:DATASTART:MOV AX,DAT

3、AMOV DS,AXLEA BX,arrayMMOV SI,0;数组arrayP偏移地址MOV DI,0;数组arrayN偏移地址MOV CX,20;循环20次LOP:MOV AL,BXCMP AL,0;与0比较JL toN;小于0MOV arrayPSI,AL;大于等于0INC SIINC countPJMP AGAIN;转去处理循环toN:MOV arrayNDI,AL;负数存入arrayN数组INC DIAGAIN:INC BX;相当于for语句的第三部分LOOP LOPDISP_A:;显示功能,因为最多只有两位数,使用一次除法即可AND AH,0;商为十位,余数为个位MOV AL,co

4、untPCALL DISP_BMOV AH,02HMOV DL,20HINT 21HAND AH,0MOV AL,20DSUB AL,countPCALL DISP_BMOV AX,4C00HINT 21HDISP_B:MOV CL,10DDIV CLMOV DH,AHCMP AL,0JZ DISP_CMOV DL,AL;商为0时,跳过不执行ADD DL,30HMOV AH,02HINT 21HDISP_C:MOV DL,DHADD DL,30HMOV AH,02HINT 21HRETCODE ENDS END START流程图:编译连接MS-DOS下运行:Debug下调试运行:如何利用DEB

5、UG进行调试的:直接使用G命令调试运行即可。2.编程实现把键入的一个字符,用二进制形式(0/1)形式显示出它的ASCII码源代码:DATA SEGMENTDATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXMOV AH,01H ; 键入一个字符INT 21HMOV BL,AL;字符存到BL中MOV AH,02HMOV DL,MOV DL,:;输出一个冒号INT 21HMOV CX,8H ;循环八次AGAIN: SHL BL,1 ;最高位移入CF MOV DL,0ADC DL,30h;带进位加MOV AH,0

6、2hINT 21hLOOP AGAIN MOV AX,4C00HINT 21HCODE ENDSEND START流程图:编译连接:MS-DOS下运行:Debug下调试运行:从红色框中可以看到,输入了0,相应的寄存器AL变为30H此处输出了最高位0,循环八次即可输出所有。如何利用DEBUG进行调试的:用P命令进行调试,在需要输入字符时,系统会等待输入,输出时直接输出在命令下面。 三、小结1.熟悉了各种无条件和有条件跳转命令。2.学会了使用loop,jmp,call和ret等命令设计循环程序,并且能根据问题不同采用不同的结构。3.操作符$可以表示当前地址,如jmp $就是指转移到当前执行语句的地址,效果是原地跳转,不再向后执行了,loop也是一样。4.EQU伪指令可以给表达式赋予一个名字,其格式如下Expression_nameEQUExpression,此后程序中凡需要用到该表达式指出,就可以用表达式名来代替了。5.因为没有找到EXE2BIN程序,所以没有实际实验,但应该用命令EXE2BIN? ?.EXE ?.COM 即可。仪器设备损坏、非正常损耗材料(试剂)及处理情况:无教师对报告的最终评价及处理意见:教 师 签 字: 年 月 日专心-专注-专业

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

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁