您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 酒店餐饮 > 从键盘输入数据并显示实验
实验四从键盘输入数据并显示实验【实验目的】1.掌握键盘输入字符的方法和十六进制数字字符的ASCII码转换为二进制数的原理。2.掌握子程序定义和调用的方法。3.掌握循环移位指令的用法和无符号数比较大小的方法。【实验性质】验证性实验(学时数:2H)【实验内容】从键盘上输入4位十六进制数,将其转换为16位二进制数并在显示器上显示出来。要求输入的数字字符串以回车键结束。如果输入的数字超过4个,则以最后输入的4个为准。若按下的键不是十六进制数字字符,则显示出错信息。参考程序:【实验提示】从键盘上输入的十六进制数字字符进入计算机后并不是相应的十六进制数或二进制数,而是与字符对应的ASCII码,现要找出ASCII码与该数字对应的二进制数之间的关系。关系如下:十六进制数字字符字符对应的ASCII码数字对应的二进制数0~930H~39HASCII码-30HA~F41H~46HASCII码-37Ha~f61H~66HASCII码-57H【报告要求】1.给出该问题的程序设计流程图。2.给出该程序的全部代码,并加上注释。3.总结实验体会。CRLFMACROMOVAH,02HMOVDL,0DHINT21HMOVAH,02HMOVDL,0AHINT21HENDMDATASEGMENTMARKDB?MESSDB'输入四位十六进制数,按回车键转化为二进制数,空格键结束!',0DH,0AH,'输入:$'ERRORDB0DH,0AH,'输入错误!',0DH,0AH,'$'DATAENDSSTACKSEGMENTSTADW32DUP(?)TOPDW?STACKENDSCODESEGMENTASSUMECS:CODE,DS:DATA,ES:DATA,SS:STACKSTART:MOVAX,DATAMOVDS,AXMOVES,AXMOVSP,TOPHEAD:CRLFMOVMARK,0MOVAH,09HLEADX,MESSINT21H;显示提示输入的信息CALLGETNUM;接收键入数值送DXCMPMARK,01HJEHEADMOVCX,0010H;16位MOVBX,DXTTT:ROLBX,1;循环左移1位MOVDL,BLANDDL,01H;屏蔽掉高7位ADDDL,30HMOVAH,02HINT21H;显示二进制位对应的ASCII字符LOOPTTTJMPHEADFINI:MOVAX,4C00HINT21H;返回DOSGETNUMPROCNEAR;子程序,接收键入数值送DXPUSHCXXORDX,DXGGG:MOVAH,01HINT21HCMPAL,0DH;输入为回车,则进行转换JEPPPCMPAL,20H;输入为空格,则退回DOSJEFINICMPAL,30HJBKKKSUBAL,30HCMPAL,0AHJBGETSCMPAL,11HJBKKKSUBAL,07HCMPAL,0FHJBEGETSCMPAL,2AHJBKKKCMPAL,2FHJAKKKSUBAL,20HGETS:MOVCL,04SHLDX,CLXORAH,AHADDDX,AXJMPGGGKKK:MOVAH,09HMOVDX,OFFSETERRORINT21HMOVMARK,01HPPP:PUSHDXCRLFPOPDXPOPCXRETGETNUMENDPCODEENDSENDSTART
本文标题:从键盘输入数据并显示实验
链接地址:https://www.777doc.com/doc-5711028 .html