微机原理实验一编程实现键盘输入和显示5366.pdf
实验一 编程实现键盘输入和显示*一、题目内容*循环提示由键盘输入一个字符,若为自己姓的首字母(大小写均可),则显示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 码与字符比较,否则结果不符合预想。