周扬微机原理(课程设计)报告.doc
文本预览下载声明
江苏大学微机原理课程设计报告
姓名: 周扬
学院: 电气信息工程学院
班级: 自动化1202
学号:
【实验目的】
结合微型计算机原理课程的学习,进一步巩固已学的知识,同时针对微型计算机原理知识的具体应用,学会对系统中DOS和BIOS的使用。学会使用对全屏幕编辑程序,弄懂汇编程序的上机过程以及如何运用DEBUG软件进行汇编程序的调试。
【实验内容】
字符串匹配设计
为掌握提示信息的设置方法及读取键入信息的方法,编写程序实现两个字符串比较,如相同则显示“MATCH”,否则显示“NO MATCH”。
从键盘输入数据并显示的设计
为掌握键盘接受数据的方法,并了解将键盘数据显示时必须转换为ASCII码的原理,编写程序,将键盘接受到的四位十六进制数据转换为等值的二进制数显示。
3.字符和数据的显示设计
先显示信息“INPUT STRING THE END FLAG IS $”再接受字符如为0~9则计数器加1并显示数据。如为非数字,则直接显示但不计数。
4. 学生成绩名次表设计
为进一步熟悉排序方法,编写程序,将100以内的30个成绩存入首址为1000H的存储区中。1000H+i表示学号为i的学生成绩。编写程序使得在2000H开始的区域排出名次表,2000H+i为学号i的学生的名次。
【课程设计题目详解】
一 流程图设计
排学生成绩名次表主程序参考流程 排学生成绩名次表SCAN子程序参考流程
二 代码设计
CRLF MACRO ;宏定义,回车换行
MOV AH,02H ;显示一位ASCLL码
MOV DL,0DH ;回车
INT 21H
MOV AH,02H
MOV DL,0AH ;换行
INT 21H
ENDM
DATA SEGMENT
STUNUM EQU 30 ;学生数
SHURUX DB PLEASE INPUT 30 SCORE,0DH,0AH,$ ;输入提示信息
ERROR DB INPUT ERROR,TRY AGAIN,0DH,0AH,$ ;错误提示信息
SHUCHU DB THE ORDER IS:,0DH,0AH,$ ;输出提示信息
EMARK DB ? ;错误标志位
ORG 1000H ;存放成绩信息首址
SCORE DB 30 DUP(?) ;30个成绩
ORG 2000H ;存放名次信息地址
MC DB 30 DUP(?) ;名次表
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 SP,TOP
ZY : MOV AH,09H ;显示输入提示信息,显示字符串
MOV DX,OFFSET SHURUX
INT 21H
MOV SI,OFFSET SCORE ;成绩表首地址
MOV CX,STUNUM ;CX=30
MOV EMARK,0 ;错误标志位清零
SRCJ: CALL GETNUM ;调用子程序读成绩
CMP EMARK,01H ;判断是否出错
JE ZY ;出错则从新输入
MOV [SI],DL ;DL为成绩,没出错即输入成绩
INC SI ;指向下一个成绩单元地址
显示全部