深 圳 大 学 实 验 报 告
课程名称: 微机原理
实验项目名称: 循环程序设计实验
学院: 信息工程学院
专业: 电子信息工程
指导教师: 邹文斌
报告人:蔡日钊 学号:2014130046 班级: 电子1班
实验时间: 2016 / 05/09
实验报告提交时间:
教务部制
实验目的:: 1. 加深对循环结构了解 2. 掌握循环结构程序设计方法和调试方法 实验内容: 求数据区内的第一个单元存放区内单元数据个数,从第二单元开始存放数据,在区内最后的三个单元存放结果。判断每个数据是正数或者负数,或者0,统计数据的正数,0,负数的个数,并存放到最后三个单元。 流程图: 开始 数据首地址→DI 数据个数→CL BX,DX,AX异或清0 [ DI ] →AL AX - 0 N ZF=0? Y 检查最高位是是否为1 Y BL+1→BL DI+1N →BH+1→BH DI+1→DI N DL+1→DL DI+1→DI CX=0? Y 结束 代码实现 SSTACK SEGMENT STACK DW 64 DUP(?) SSTACK ENDS CODE SEGMENT ASSUME CS:CODE START: MOV DI, 3000H XOR BH,BH XOR DH,DH XOR AH,AH MOV AL ,0 ; MOV BL ,0 ;0个数,BH表示正数个数 MOV DL, 0 ;负数个数 MOV CL,[DI]; INC DI A1: MOV AL,[DI] SUB AL,0 JZ A2 ; 0 TEST AL,80H JNZ A3 ; INC BH INC DI JMP NEXT A2: INC BL INC DI JMP NEXT A3: INC DL INC DI JMP NEXT NEXT : LOOP A1 MOV [DI],BH INC DI MOV [DI],BL INC DI MOV [DI],DL A4: JMP A4 CODE ENDS END START