实验1-循环程序设计
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
汇编过程
在命令行模式下用Edit命令打开文本编辑器,在文本编辑 命令打开பைடு நூலகம்本编辑器, 在命令行模式下用 命令打开文本编辑器 器下编辑源程序,保持成后缀为.asm的文件; 的文件; 器下编辑源程序,保持成后缀为 的文件 在命令行模式下,输入 在命令行模式下,输入:
1)路径>masm ***.asm ***.obj 若无语法错误则生成OBJ文件; 若有语法错误,则重新编辑源程序 2)路径>link 输入obj文件,生成EXE文件 3)在debug下加载exe文件,调试运行。
准备部分
时用循环程序比较方便。 时用循环程序比较方便。 循环程序一般包括四个部分
循环准备部分(初始化) 循环工作部分(循环体)
调整部分 N 循环部分
调整部分(计数值调整) 循环出口判定(循环条件)
出口条件判断
Y 结束
循环指令
指令格式 LOOP OPRD LOOPZ OPRD LOOPE OPRD LOOPNZ OPRD LOOPNE OPRD JCXZ OPRD 功能说明 (CX) (CX)-1, , (CX)≠0时,转到OPRD 时 转到 (CX) (CX)-1, , (CX)≠0且ZF=1时,转到OPRD 且 时 转到 (CX) (CX)-1, , (CX)≠0且ZF=0时,转到 且 时 转到OPRD CX=0时,转到OPRD 时 转到
参考程序
DATA GRADE COUNT SEGMENT DW 88H,75H,95H,63H,98H,78H,87H,73H,90H,60H , , , , , , , , , EQU ($-GRADE)/2 ORG 20H RANK DATA STACK STA TOP STACK CODE DW 10 DUP (?) ENDS SEGMENT DB 20 DUP (20H) EQU $—STA ENDS SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK : , : , : START: MOV AX,DATA : , MOV DS,AX , MOV AX,STACK , MOV SS,AX , MOV SP,TOP , MOV DI, , MOV BX,0 , ;成绩的个数
参考程序
LOOP1: : MOV AX,GRADE[BX],1 , , MOV CX,COUNT , SI,GRADE , NEXT: : CMP AX,[SI] , NO_COUNT INC WORD PTR RANK[BX];存放学生名次 ; NO_COUNT: ADD SI,2 : , NEXT ADD BX,2 , DEC DI LOOP1 MOV AX,4C00H , INT 21H CODE ENDS END START ;成绩的存放地址
寄存器使用情况说明: 寄存器使用情况说明:
AX 存放当前被测学生的成绩
BX 存放当前被测学生的相对 地址指针 CX 内循环计数值
AX>[SI]? N 学生名次+1
SI+2
DX 存放当前被测学生的名次 计数值 SI 内循环测试时的地址指针
N
CX=0? Y BX+2
N
DI 外循环计数值
DI=0? Y 结束
微机原理与接口技术
实验一 循环程序设计
河南科技大学 电子信息工程学院
循环程序设计
实验目的
掌握循环程序设计的方法(两重性循环结构) 掌握正确分配与使用寄存器。
实验环境
计算机安装8086汇编语言的编译器、链接器以及文本编 辑文件。
预习要求
了解各种循环指令的使用方法。
实验原理
开始
在程序设计中, 在程序设计中,经常需要对 某些操作重复进行多次, 重复进行多次 某些操作重复进行多次,这
实验内容
设计要求
以GRADE为首地址的10个字类型数组中保存有学生成绩。建立一个 10个字的RANK数组,并根据GRADE中的学生成绩将学生名次填入 RANK数组中。(提示:一个学生的名次等于成绩高于等于该学生 提示: 提示 的人数加1)
思考题
LOOP、LOOPZ、LOOPNZ指令构成的循环体退出条件是什么? 循环是否可以嵌套?如果可以嵌套,多层循环之间能否交叉? 多层循环程序各层循环是否都可用LOOP指令作为循环控制?若可 以,需注意什么问题?
实验报告
下周五上课时交实验报告,具体内容包含以下几项: 下周五上课时交实验报告,具体内容包含以下几项:
实验题目 实验目的 实验环境 实验内容 程序流程图 自主设计的源程序和注释 实验中出现的问题及解决方案 完成思考题 实验总结
开始
参考流程及程序
初始化DI=成绩的个数, BX=0 AX=学号为I+1的学生成绩 初始化DX=1, CX=10, SI=GRADE首址 Y