预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共24页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

中国石油大学(华东)现代远程教育 实验报告 课程名称:微机原理及应用 实验名称:循环程序设计 实验形式:在线模拟+现场实践 提交形式:在线提交实验报告 学生姓名:褚东学号:1796414800002 年级专业层次:17电气自动化技术高起专 学习中心:山东枣庄函授站(新) 提交时间:2018年7月10日 一、实验目的 1.掌握单重循环及多重循环的程序设计方法;  2.学会针对不同的问题,选用不同的组织循环的方法;  3.进一步熟悉利用DEBUG程序、CODEVIEW调试程序的方法,并检查和验证结果的正确性。二、实验内容 1.已知字数组定义如下:ARRAYDW12,78,55,4,125,96 MAXDW? 编制程序求出该ARRAY数组中的最大数放入MAX单元。 datasegment array dw 12,78,55,4,125,96 max dw ? data ends code segment assume cs:code,ds:data start: mov ax,data mov ds,ax mov si,0 mov ax,array[si] mov cx,5 again: add si,2 dec cx jcxz exit cmp ax,array[si] ja again mov ax,array[si] jmp again exit: mov max,ax mov ah,02h int 21h mov ah,4ch int 21h code ends end start 2.预留字符串口令,输入口令串与预留密码串比较。若匹配则显示“MATCH!CONGRATULATION”,否则显示“NOMATCH!”,并让用户重新输入,程序能对口令进行测试,但测试次数最多3次,若3次输入密码皆错,给出相应的提示信息,程序退出。 datasegment password db '123456' input db 20,?,20dup(?) count equ 6 str1 db 0dh,0ah,'match!congratulation$' str2 db 0dh,0ah,'nomatch!pleaseinputagain:$' str3 db 0dh,0ah,'pleaseintoutyoupassword:$' str4 db 0dh,0ah,'wrong3times,programwillbeover$' dataends code segment assume cs:code,ds:data start: mov ax,data mov ds,ax mov di,3 begin: dec di lea dx,str3 mov ah,09h int 21h lea dx,input mov ah,0ah int 21h mov si,0 mov al,input[si+1] cmp al,count jnz output1 mov si,0 mov cx,count again: mov al,password[si] mov bl,input[si+2] cmp al,bl jnz output1 inc si loop again jmp output2 output1: lea dx,str2 mov ah,09 int 21h cmp di,0 jnz begin jmp aa output2: lea dx,str1 mov ah,09 int 21h jmp exit aa: lea dx,str4 mov ah,09 int 21h mov ax,9999h a: mov cx,9999h b: loop b dec ax jnz a exit: mov ah,4ch int 21h code ends end start 3.有一个首地址为NUM的N字无序无符号整数数组,编制程序采用选择排序法使该数组中的数按照从小到大的次序排序输出。 datasegment array dw 22,31,10,5,1,66,136,99 dataends code segment main proc far assume cs:code,ds:data start: mov ax,data mov ds,ax mov di,0 again: mov si,di next: mov ax,array[di] add si,2 cmp si,16 ja exit cmp ax,array[si] jbe next xchg ax,a