微机原理实验一编程实现键盘输入和显示
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验一编程实现键盘输入和显示
************************************************************************************* *
一、题目内容
************************************************************************************* *
循环提示由键盘输入一个字符,若为自己姓的首字母(大小写均可),则显示‘My name is:XXX(自己的姓名拼音);若为自己学号的末位数字,则显示’ My ID number is:XXX(自己的学号);若输入其他字符则退出程序。(三种情况都要验证至少一次截图附在实验报告中。)
以电科2班张弛同学为例,运行程序后显示:
Please input a character: z
My name is: Zhang Chi
Please input a character: 2
My ID number is:
Please input a character:a
Quit the program.
************************************************************************************* *
二、流程图
*************************************************************************************
*
*************************************************************************************
*三、程序代码
************************************************************************************* *
stack segment stack 'stack'
dw 32 dup(0) ;定义32字空间
stack ends
data segment
OBUF DB 'Please input a key',0DH,0AH,'$' ;定义字符串
MSG1 DB 20H,'My name is:Zeng HongQing',0DH,0AH,0AH,'$' ;定义字符串
MSG2 DB 20H,'My ID number is:2',0DH,0AH,0AH,'$' ;定义字符串
data ends
code segment
begin proc far
assume ss:stack, cs:code, ds:data
push ds
sub ax,ax
push ax
mov ax,data
mov ds,ax
AGAIN: MOV DX,OFFSET OBUF;调用9号功能,输出字符串“Please input a character:”
MOV AH,9
INT 21H
MOV AH,1;1号功能调用,等待输入一个字符
INT 21H
CMP AL,'z';将输入的字符与“z”比较是否一样
JZ NAM ;如果为零即输入字符为z则跳转至NAM
JMP ID ;如果不为零即输入字符非z则跳转至ID
NAM: MOV DX,OFFSET MSG1;9号功能调用,输出“My name is:Zeng HongQing”
MOV AH,9
INT 21H
JMP AGAIN
ID: CMP AL,32H ;将输入的字符与2的ASSCII码比较是否相等
JNZ OTHER ;如果不为零即输入不为2则跳转至OTHER
MOV DX,OFFSET MSG2 ;为零即输入为2则调用9号功能输出“My ID number is:2”
MOV AH,9
INT 21H
JMP AGAIN
OTHER: MOV AH,4CH;若输入的是其他字符,调用中断21h的4ch号功能,退出程序INT 21H
ret
begin endp
code ends
end begin
*************************************************************************************
*四、操作截图
*************************************************************************************
*
*************************************************************************************
*五、实验分析或经验总结
*************************************************************************************
*
1、编译汇编文件:
先在记事本里输入代码后,再用汇编编译器编译。
具体过程如下:
1)、编辑:用编辑软件(或记事本)形成源程序(.ASM),如:;
2)、汇编:用汇编程序()对源程序进行汇编,形成目标文件(.OBJ),格式如下:MASM ; 3)、连接:用连接程序()对目标程序进行连接,形成可执行文件(.EXE),格式如下:LINK ; 4)、执行:如果结果在屏幕在显示,则直接执行可执行文件。
5)、调试:用调试程序()对可执行文件进行调试,格式如下:DEBUG
2、代码用英文格式输入状态,否则出错。
3、注意关键词输入正确性。
4、数字要转换成ASCII码与字符比较,否则结果不符合预想。