汇编实验六循环程序是设计说明

上传人:新** 文档编号:513820122 上传时间:2024-02-08 格式:DOC 页数:6 大小:872.50KB
返回 下载 相关 举报
汇编实验六循环程序是设计说明_第1页
第1页 / 共6页
汇编实验六循环程序是设计说明_第2页
第2页 / 共6页
汇编实验六循环程序是设计说明_第3页
第3页 / 共6页
汇编实验六循环程序是设计说明_第4页
第4页 / 共6页
汇编实验六循环程序是设计说明_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《汇编实验六循环程序是设计说明》由会员分享,可在线阅读,更多相关《汇编实验六循环程序是设计说明(6页珍藏版)》请在金锄头文库上搜索。

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

2、数组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 DUParrayN DB 20 DUPcountP DB 0DATA ENDSCODE SEGMENTassume CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXLEA BX,arrayMMOV SI,0;数组arrayP偏移地址MOV DI,0;数组

3、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,countPCALL DISP_BMOV AH,02HMOV DL,20HINT 21HAND AH,0MOV A

4、L,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下调试运行:如何利用DEBUG进行调试的:直接使用G命令调试运行即可。2.编程实现把键入的一个字符,用二进制形式0/1形式显示出它的AS

5、CII码源代码: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 21HMOVCX,8H ;循环八次AGAIN: SHL BL,1 ;最高位移入CF MOV DL,0ADC DL,30h;带进位加MOV AH,02hINT 21hLOOP AGAIN MOV AX,4C00HINT 21HCODE ENDSEND START流

6、程图:编译连接: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 ? 即可。仪器设备损坏、非正常损耗材料试剂及处理情况:无教师对报告的最终评价及处理意见:教 师 签 字: 年 月 日 /

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

当前位置:首页 > 资格认证/考试 > 自考

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号