1、微型计算机原理课程设计报告微型计算机原理课程设计报告 一、一、目的目的 结合微型计算机原理课程的学习, 进一步巩固已学的知识, 同时针对微型计算机原理 知识的具体应用,学会对系统中 DOS 和 BIOS 的使用。学会使用全屏幕编辑程序PE,弄 懂汇编程序的上机过程以及如何运用 DEBUG 软件进行汇编程序的调试。 二、任务二、任务 任务任务一:字符串匹配设计 为掌握提示信息的设置方法及读取键入信息的方法。编写程序实现两个字符串的 比较。如相同,则显示“MATCH”,否则,显示“NO MATCH” 流程图:流程图: 显示“NO MATCH” SI 加 1,指向下一字符 字符已取完? 返回 DOS
2、 相等? 显示“MATCH” 入口 初始化 显示请输入字符串 1 用 INT 21H 的 0AH 号子功能,接收字符串 显示请输入字符串 2 SI 指向串 1 的首字符 SI 指向的字符和字符串 2 比较 N Y N Y 程序清单程序清单: DATA SEGMENT S1 DB PLEASE INPUT THE FIRST STRING:,$ ST1 DB 100 DB ? DB 100 DUP(?) S2 DB 0AH,PLAESE INPUT THE SECOND STRING:,$ ST2 DB 100 DB ? DB 100 DUP(?) S3 DB 0AH,MATAH,$ S4 DB
3、 0AH,NO MACTCH,$ DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV DX,OFFSET S1 ;显示提示信息1 MOV AH,9H ;字符串显示 INT 21H MOV DX,OFFSET ST1 ;接收键入的字符串1 MOV AH,0AH ;字符串键盘输入 INT 21H MOV DX,OFFSET S2 ; 显示提示信息2 MOV AH,9H INT 21H MOV DX,OFFSET ST2 ;接收键入的字符串2 MOV AH,0AH INT 21H MOV SI,
4、OFFSET ST1 ; 字符串1的地址送给SI MOV DI,OFFSET ST2 ; 字符串2的地址送给DI MOV AX,0 LP1: MOV BL,SI+1 ;字符串1的字符数送给BL CMP BL,DI+1 ;字符串2的字符数与字符串1相比较 JNZ LP4 ; 不等转LP4 MOV AL,SI+1 MOV CX,AX ;给CX赋字符串1的字符数 LP2: MOV BL,SI+2 ; 字符串1的第一个字符在字符串2中匹配 CMP BL,DI+2 JNZ LP4 INC SI INC DI LOOP LP2 ; 循环CX内容减1,CX不等于0,继续循环, 跳转LP2 LP3: MOV
5、DX,OFFSET S3 MOV AH,9H INT 21H JMP NEXT LP4: MOV DX,OFFSET S4 MOV AH,9H INT 21H NEXT: MOV AH,4CH ;返回DOS INT 21H CODE ENDS END START 调试结果调试结果: : 任务二任务二:从键盘输入数据并显示的设计 为掌握接收键盘数据的方法,并了解将键盘数据显示时须转换为ASCII码的原理。编写 程序,将键盘接收到的四位十六进制数据转换为等值的二进制数,再显示在终端上。 流程图:流程图: 程序清单:程序清单: CRLF MACRO MOV AH,02H MOV DL,0DH INT
6、 21H MOV AH,02H MOV DL,0AH INT 21H ENDM DATA SEGMENT MARK DB ? MESS DB please input the number(H),press inter,ture into number(B).press space end.,0DH,0AH,$ ERROR DB 0DH,0AH, input error,0DH,0AH,$ DATA ENDS STACK SEGMENT STA DW 32 DUP(?) TOP DW ? STACK ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACK START: MOV AX,DATA MOV DS,AX MOV ES,AX MOV