第六次实验报告

上传人:小** 文档编号:90276322 上传时间:2019-06-10 格式:DOC 页数:10 大小:175.16KB
返回 下载 相关 举报
第六次实验报告_第1页
第1页 / 共10页
第六次实验报告_第2页
第2页 / 共10页
第六次实验报告_第3页
第3页 / 共10页
第六次实验报告_第4页
第4页 / 共10页
第六次实验报告_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《第六次实验报告》由会员分享,可在线阅读,更多相关《第六次实验报告(10页珍藏版)》请在金锄头文库上搜索。

1、长春理工大学汇编语言实验报告实验题目: 循环程序设计 实验时间: 2016 年 4 月 20 日 实验地点: 东三教912 班 级: 1405111 学 号: 140511114 姓 名: 王国伟 一、实验目的:1灵活运用各类许循环指令,掌握循环程序的设计方法2 学会针对不同的问题,选用不同的组织循环的方法。 3伪指令 EQU 及操作符 $的使用。 4 COM文件的要求和生成过程。二、实验准备 1编写任务要求的程序 2学习COM文件的生成过程codesegment org100h assumecs:code,ds:code main:jmpstart arraydw1234h,5673h,7f

2、ffh,8000h,0dffh dw0ab5h,0369h,005fh,5634h,9069h countequ$-array start:movcx,count shrcx,1 deccx movbl,-1 again:movdx,cx andbl,bl jeexit xorbl,bl xorsi,si again1:movax,arraysi cmpax,arraysi+2 jlenchg xchgarraysi+2,ax movarraysi,ax movbl,-1 nchg:incsi incsi decdx jnzagain1 loopagain exit:int20h codeen

3、ds endmain 1)输入,汇编并连接此程序。忽略连接时的无堆栈告警。 2)用EXE2BIN将 .exe文件转换为 。COM文件,命令格式: EXE2BIN? ?.EXE ?.COM 3)在DEBUG下运行此程序,记录运行结果。 4)思考:将转移指令JLE改为JBE,JGE和JAE,分别运行并记录排序结果。 JLEJBE三、实验任务1编写程序:将一个包含有20个有符号数据的数组arrayM分成两个数组,正数数组arrayP 和负数数组arrayN,并分别把两个数组中的数据个数显示出来 .model small.stack.dataarrayM DB 03H,30H,0F4H,0AFH,0A

4、H,90H,87H,50H,03H,46H,0F4H,0AFH,0AH,90H,87H,50HarrayP DB 20 DUP(?) arrayN DB 20 DUP(?) countP DB ? countN DB ?.code.startup MOV BX,0 MOV SI,0 MOV DI,0 MOV CX,20 MOV countP,0 MOV countN,0 NEXT: MOV AL,arrayMBXTEST AL,80HJNZ NN MOV arrayPSI,AL INC SI INC countP JMP PPNN:MOV arrayNDI,AL INC DI INC coun

5、tN PP:INC BX LOOP NEXTXOR DX,DXXOR BX,BXMOV SI,0 MOV BL,countNLOP: MOV DL,arrayNSI MOV CL,4H SHR DL,CL CMP DL,0AH JC J1 ADD DL,7H J1: ADD DL,30H MOV AH,2H INT 21H MOV DL,arrayNSI AND DL,0FH CMP DL,0AHJC J2 ADD DL,7H J2: ADD DL,30H MOV AH,2H INT 21H MOV DL,20H MOV AH,2H INT 21H INC SI DEC BL JNZ LOPm

6、ov ah,02h mov dl,0dh int 21h mov ah,02h mov dl,0ah int 21hXOR DX,DXXOR BX,BXMOV SI,0 MOV BL,countPLOP2: MOV DL,arrayPSI MOV CL,4H SHR DL,CL CMP DL,0AH JC J12 ADD DL,7H J12: ADD DL,30H MOV AH,2H INT 21H MOV DL,arrayNSI AND DL,0FH CMP DL,0AHJC J22 ADD DL,7H J22: ADD DL,30H MOV AH,2H INT 21H MOV DL,20H

7、 MOV AH,2H INT 21H INC SI DEC BL JNZ LOP2.exit 0end 2编程实现把键入的一个字符,用二进制形式(0/1)形式显示出它的ASCII码;-CODE SEGMENT ASSUME CS:CODE, DS:CODESTART: MOV AH, 1 ;1号功能调用 INT 21H ;键入、显示 MOV BL, AL ;保存到 BL MOV DL, : MOV AH, 2 INT 21H ;显示冒号 MOV CX, 8CNS: MOV DL, 0 ADD BL, BL JNC DISP INC DLDISP: MOV AH, 2 ;显示1或0 INT 21

8、H LOOP CNS ;循环8次EXIT: MOV AH, 4CH INT 21H CODE ENDS END START3编写程序要求从键盘接收一个数bellN(0-9),然后响铃bellN 次.modelsmall.stack.datames db please input number:1-9,0dh,0ah,$.code.startupagain:mov dx,offset mes;显示stri1,提示输入movah,09hint21hmovah,01h;调用输入一个字符int21h ;输入一个字符存在al中cmpal,1 ;判该字符,如不在1-9jbagain ;重新输入cmpal,9jaagainandal,0fh ;将31h和39h转换为1和9movcl,al;振铃次数送cxxorch,chabc: movdl,07hmovah,02hint21hloopabc.exit0End四.实验总结1.通过本次实验,学习了如何使用伪指令 EQU 及操作符 $的使用,以及com文件的形成方式.2.学习了各种指令,借用各种循环来完成程序要求.3,学习了数组在程序中的定义方式,以及操作数组的方式.

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

当前位置:首页 > 商业/管理/HR > 管理学资料

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