文档详情

《微机原理及应用》实验报告.doc

发布:2018-09-27约4.11千字共12页下载文档
文本预览下载声明
中国石油大学(华东)现代远程教育 实验报告 课程名称:微机原理及应用 实验名称:循环程序设计 实验形式:在线模拟+现场实践 提交形式:在线提交实验报告 学生姓名: 褚东 学 号:1796414800002 年级专业层次:17电气自动化技术 高起专 学习中心: 山东枣庄函授站(新) 提交时间: 2018 年 7月 10 日 一、实验目的 1.掌握单重循环及多重循环的程序设计方法;? 2.学会针对不同的问题,选用不同的组织循环的方法;? 3.进一步熟悉利用DEBUG程序、CODEVIEW调试程序的方法,并检查和验证结果的正确性。 二 、实验内容 1. 已知字数组定义如下:ARRAY DW 12,78,55,4,125,96 MAX DW ? 编制程序求出该ARRAY数组中的最大数放入MAX单元。 data segment 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次输入密码皆错,给出相应的提示信息,程序退出。 data segment password db 123456 input db 20,?,20 dup(?) count equ 6 str1 db 0dh,0ah,match!congratulation$ str2 db 0dh,0ah,no match!please input again:$ str3 db 0dh,0ah,please intout you password:$ str4 db 0dh,0ah,wrong 3 times,program will be over$ data ends 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字无序无符号整数数组,编制程序采用选择排序法使该数组中的数按照从小到大的次序排序输出。 data segment array dw 22,31,10,5,1,66,136,99 data ends code segment main proc far assume cs:code,ds:da
显示全部
相似文档