微机原理课程设计报告(程序)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
微机原理课程设计报告
班级:电科1201 姓名:李建学号:3120504023
课程设计目的
结合微型计算机原理课程的学习,进一步巩固已学的知识,同时针对微型计算机原理知识的具体应用,学会对系统中DOS和BIOS的使用。学会使用全屏幕编辑程序—PE,弄懂汇编程序的上机过程以及如何运用DEBUG软件进行汇编程序的调试。
课程设计内容
1.字符串匹配设计
为掌握提示信息的设置方法及读取键入信息的方法。编写程序实现两个字符串比较。如相同,则显示“MA TCH”,否则,显示“NO MATCH”。
程序流程图
程序代码为:
DA TA SEGMENT
DATA1 DB 40
DB ?
DB 40 DUP(?)
DATA2 DB 40
DB ?
DB 40 DUP(?)
DISPP1 DB 'input the first line:$',0DH,0AH,'$'
DISPP2 DB 'input the second line:$',0DH,0AH,'$'
DISPP3 DB 0DH,0AH,'$'
DISPP4 DB 'MATCH!$',0DH,0AH,'$'
DISPP5 DB 'NO MATCH!$',0DH,0AH,'$'
DA TA ENDS
CASE SEGMENT
ASSUME CS:CASE,DS:DATA
START: MOV AX,DATA
MOV DS,AX
LEA DX,DISPP1
MOV AH,9
INT 21H
MOV DX,OFFSET DA TA1
MOV AH,0AH
INT 21H
CALL ENTER
LEA DX,DISPP2
MOV AH,9
INT 21H
MOV DX,OFFSET DA TA2
MOV AH,0AH
INT 21H
CALL ENTER
MOV AL,DATA1+1
MOV AH,0
MOV BL,DATA2+1
MOV BH,0
CMP AL,BL
JNZ L2
MOV CL,BL
MOV SI,OFFSET DA TA1+2
MOV DI,OFFSET DATA2+2
L1: MOV DX,DS:[SI]
CMP DX,DS:[DI]
JNE L2
INC DI
INC SI
LOOP L1
MOV DX,1
JMP L3
L2: MOV DX,0
L3: CMP DX,0
JZ L4
MOV DX,OFFSET DISPP4
MOV AH,9
INT 21H
JMP L5
L4: MOV DX,OFFSET DISPP5
MOV AH,9
INT 21H
L5: MOV AH,4CH
INT 21H
ENTER PROC
LEA DX,DISPP3
MOV AH,9
INT 21H
RET
ENTER ENDP
CASE ENDS
END START
运行结果:
2.字符和数据的显示设计
为掌握字符和数据的显示方法。编写程序,先显示信息:INPUT STRING,THE END FLAG IS$,再接收字符。如为0-9,则计数器加1,并显示数据;如为非数字,则直接显示,但不计数。
程序代码为:
DA TA SEGMENT
DATA1 DB 40 DUP(?)
DISPP1 DB 'input string,the end flag is IS,quit with ctrl-c',0DH,0AH,'$'
DISPP2 DB 0DH,0AH,'$'
DISPP3 DB 'the input string is:','$'
DA TA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA START: MOV AX,DA TA
MOV DS,AX
MOV SI,00H
MOV CL,0
MOV BX,OFFSET DATA1
LEA DX,DISPP1
MOV AH,9
INT 21H
L1: MOV AH,1
INT 21H
CMP AL,03H
JZ L4
CMP AL,0DH
JZ L3
MOV [BX+SI],AL
INC SI
CMP AL,30H
JNB kk
JMP L1
kk: CMP AL,39H
JNA L2
JMP L1
L2: INC CL
JMP L1
L3: LEA DX,DISPP2
MOV AH,9
INT 21H
LEA DX,DISPP3
MOV AH,9
INT 21H
ADD CL,30H
MOV [BX+SI+1],CL
MOV AL,0AH
MOV [BX+SI+2],AL
MOV AL,'$'
MOV [BX+SI+3],AL
MOV DX,BX
MOV AH,9
INT 21H
JMP L4
L4: MOV AH,4CH
INT 21H