汇编语言与微机原理综合性实验报告.doc
综合性实验报告2012-2013-1课程名称: 汇编语言与微机原理 班 级: 10级计算机(1)班 学 号: 1006111079 姓 名: 王东亮 实验项目:基于DOS系统功能调用、串处理指令的用户管理实验1 实验目的与要求:通过本综合性实验,可以达到以下目的:1、掌握内存中数据的存储与管理方法;2、掌握使用DOS系统功能调用的方法进行程序设计的三个基本步骤;3、掌握使用DOS系统功能调用进行字符串显示与录入、存储的程序设计;4、掌握字符串处理指令的功能、格式及使用方法;5、掌握使用汇编语言进行程序设计、调试的方法。2 实验内容:1、进行子程序设计,功能为:(1)调用DOS系统功能进行字符串录入提示;并对用户根据提示输入的用户名进行存储;(2)系统自动匹配录入用户名与预设用户名,若相同,则提示“ENTER THE SYSTEM.”,否则,提示“REFUSED TO ENTER!”。2、调用DOS系统21H中断的25H号功能,将此子程序的入口地址写入中断矢量表,中断矢量号定义为60H。3、定义主程序,功能如下: (1)在数据存储区域预设用户名; (2)使用INT 60H中断指令进行中断调用;4、调试、执行程序并记录调试结果。3 实验过程(要求在实验报告中写出全部代码,并提交纸质实验报告和电子文档,电子文档为实验报告、源代码、obj、exe文件的压缩包)参考过程如下:1、进入DOS操作系统;2、键入 EDIT 进入全屏幕编辑环境;3、建立源文件.ASM 并保存;4、返回DOS系统; 5、用汇编程序MASM对源文件汇编产生目标文件.OBJ; 6、用链接程序LINK产生执行文件.EXE;7、执行程序;8、进入DEBUG,进行程序功能调试的方法。完整源代码如下:DATA SEGMENT WAITFINPUT DB 100 DB ? DB 100 DUP(?) USER_NAME DB "BRUTH" MESG DB "PLEASE INPUT THE USERS' NAME(=5):$" WEL DB "ENTER THE SYSTEM.$" REF DB "REFUSE TO ENTER!$"DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART: MOV AX,DATA MOV DS,AX MOV ES,AX MOV DX,SEG MAIN MOV DS,DX MOV DX,OFFSET MAIN MOV AX,2560H INT 21H INT 60H MOV AH,4CH INT 21H MAIN PROC NEAR MOV AX,DATA MOV DS,AXDISP1:LEA DX,MESG MOV AH,9 INT 21H INPUT: MOV AH,10 LEA DX,WAITFINPUT INT 21HHANG: MOV DL,0DH MOV AH,2 INT 21H MOV DL,0AH MOV AH,2 INT 21H CALL CHECK CHECK PROC NEAR CLD MOV CL,WAITFINPUT+1 CMP CL,5 JNZ REFE MOV CH,0 LEA SI,WAITFINPUT+2 LEA DI,USER_NAME REPE CMPSB JCXZ WELM CALL REFE RET CHECK ENDP REFE PROC NEAR LEA DX,REF MOV AH,9 INT 21H REFE ENDP JMP ENDN WELM PROC NEAR LEA DX,WEL MOV AH,9 INT 21H WELM ENDP ENDN: MOV DL,0DH MOV AH,2 INT 21H MOV DL,0AH MOV AH,2 INT 21H MOV AH,4CH INT 21H RET MAIN ENDPCODE ENDSEND START程序结果调试截图如下:实验成绩: 指导教师: 王永娟 日期: 2012.12.24