微机原理实验五输入与输出程序设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验六输入与输出程序设计
一、实验目的
1•掌握常用DOS中断调用的功能以及在应用程序中的使用方法。
2•学习键盘输入和屏幕输出的基本方法。
3•宏指令、子程序在应用程序屮的使用。
4•汇编语言程序设计的调试与完善。
二、设计指标与实验要求
1.设计内容
本实验要求设计完成:①屏幕输出提示(如〃Want in put (Y/N)? ”),若键入N则结束程序返回操作系统;键入Y则转2步;键入的是其它字母则回①步。②换行后输出提示(如"please in put a strings :”),且在该提示后键入一字符串(输入到输入缓冲区)
③换行后输出提不(如"your in putt ing is :”),在该提不后输出由②步输入的字符串。
④换行后输出提示“Want continue (Y/N)? ” ,若键入Y则转②步;键入N则结束程序返回操作系统;其它字母则回第④步。
2 •设计要求
①按屏幕提示要求输入,从屏幕上获得正确结果。
②把程序屮常用的屮断调用定义成宏指令(至少定义2个)。
③字符串回显部分设计成子程序,可以选择用21H中断的2号或9号功能来实现,应能显示由
主程序指定的任一字符串。要注意这两种方法实现的设计过程是不同的。
采用2号功能的,子程序输入参数为“回显字符串地址”和“回显字符数”;采用
9号功能的,子程序输入参数为“回显字符串地址”。
④屏幕的提示信息显示格式尽量做到兼顾美观。
3 .实验步骤
①•选用合适的程序文本编辑软件编辑源程序,
并为文件取以.ASM为扩展名的文件存盘。
②•用宏汇编软件MASM对源程序文件进行汇编,若有错误,根据提示(行号,错误类型)回源程序文件中修改。
③•用LINK对由MASM匚编后产生的目标文件做连接,生成可执行文件;若有错误(同上)回步骤1修改源程序文件。
④•对存在问题的程序,用CV调试程序,检察运行结果,并调试程序。
⑤•反复验正程序的正确性。
⑥•完善、改进所设计的程序算法、功能、界面、或性能等指标。
四、思考题
1.输入串若以指定字符(非回车)做结束标志时的输入部分应如何改写。
2.若为应用程序添加启动时的密码检验功能,密码输入时采用什么屮断功能比较合适?
3.如何为应用程序添加字母的大小写转换功能?
OUTPUT MACRO
MOV AH, 9
INT 21H
EXDM
INPUTS MACRO
MOV AH, 10
INT 21H
ENDM
DATA SEGMENT
BUF1 DB Odh, Oah,,Wa nt in put(Y/N)?$,
BUF2 DB Odh,Oah, 5 please in put a stri ngs:$' BUFIN DB 20,?,20 DUP(?)
BUF3 DB Odh,Oah, ' your in putt ing is:$'
BUF4 DB Odh, Oah,,Wa nt contin ue(Y/N)?$,
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE, DS:DA TA START:MOV AX, DATA
MOV DS, AX
XI: MOV DX, OFFSET BUF1
OUTPUT
MOV AH, 1
INT 21H
CMP AL,' Y'
JZ X2
CMP AL,' N,
JZ OVER
JMP XI
X2: MOV DX, OFFSET BUF2
OUTPUT
MOV DX,OFFSET BUFIN
INPUTS
MOV DX,OFFSET BUF3
OUTPUT
MOV DX,OFFSET BUFIN+2
OUTPUT DX
X3: MOV DX, OFFSET BUF4
OUTPUT
MOV AH, 1
INT 21H
CMP AL,' Y'
JZ X2
CMP AL,' N'
JZ OVER
JMP X3
OVER:MOV AH, 4CH
INT 21H
INPUT PROC NEAR
MOV AH, 1
INT 21H
CMP AL,' Y'
JZ X2
CMP AL,' N'
JZ OVER
ret
INPUT ENDP
CODE ENDS
END START
31 d:\我的文档\桌面\实验4.exe