微机原理实验六__从键盘输入数据并显示.doc_第1页
微机原理实验六__从键盘输入数据并显示.doc_第2页
微机原理实验六__从键盘输入数据并显示.doc_第3页
微机原理实验六__从键盘输入数据并显示.doc_第4页
微机原理实验六__从键盘输入数据并显示.doc_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验六 从键盘输入数据并显示1 要求:编写程序,将键盘接收到的四位十六进制数转换为等值的二进 制数,并显示在屏幕上。若输入的不是0F间的数字,则显示出错 信息,并要求重新输入。2 目的:掌握接收键盘数据的方法,并了解将键盘数据显示时须转换为 ASCII码的原理。实验程序 CRLF MACRO MOV AH,02H ;换行 MOV DL,0DH INT 21H MOV AH,02H ;回车 MOV DL,0AH INT 21HENDM ;宏定义结束DATA SEGMENT ;数据段MARK DB ?MESS DB please input the number(H),press inter,ture into number(B).press space end.,0DH,0AH,$ERROR DB 0DH,0AH, input error,0DH,0AH,$DATA ENDS ;数据段结束STACK SEGMENT ;堆栈段STA DW 5 DUP(?)TOP DW ?STACK ENDS ;堆栈段结束CODE SEGMENT ;代码段ASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACKSTART: MOV AX,DATA MOV DS,AX MOV ES,AX MOV SP,TOP ;SP指向堆栈段段尾HEAD: CRLF ;输出换行符 MOV MARK,0 MOV AH,09H ;显示9号功能,即字符串显示 LEA DX,MESS INT 21H ;显示提示输入的信息 CALL GETNUM ;接收键入数值送DX CMP MARK,01H ;比较两者大小 JE HEAD ;如果相等则跳转 MOV CX,0010H ;16位 MOV BX,DXTTT: ROL BX,1 ;循环左移1位 MOV DL,BL AND DL,01H ;屏蔽掉高7位 ADD DL,30H MOV AH,02H ;字符输出 INT 21H ;显示二进制位对应的ASCII字符 LOOP TTT ;循环跳转ttt JMP HEADFINI: MOV AX,4C00H ;最后结束语句 INT 21H ;返回DOSGETNUM PROC NEAR ;子程序,接收键入数值送DX PUSH CX XOR DX,DXGGG: MOV AH,01H INT 21H ;调用中断 CMP AL,0DH ;输入为回车,则进行转换 JE PPP CMP AL,20H ;输入为空格,则退回DOS JE FINI CMP AL,30H JB KKK ;输入有误,显示error CMP AL,11H JB KKK CMP AL,2AH JB KKK CMP AL,2FH JA KKK SUB AL,20H ;使大小写输入一样 MOV AH,AL CMP AL,9 JBE SAVE1 ;大于零,且小于等于9,直接将ASCII码存放于HEX1变量。 AND AL,0DFH ;将输入的小写转化为大写。相当于SUB AL,20H CMP AL,A JB ERROR ;小于A,转错误处理。 MOV AH,AL SUB AH,A-10 ;以上两行,假设为A-F,则将ASCII形式转为十六进制数。 CMP AL,F JBE SAVE2 ;大于A,小于F,转保存到HEX2变量处理。SAVE1: MOV HEX1,AH MOV AH,2 MOV DL,0DH INT 21H MOV DL,0AH INT 21H MOV DL,HEX1 INT 21H ;这一小段为显示0-9之间的十进制数的ASCII码,显示完退出程序。 JMP GGGSAVE2: PUSH AX ;先保存AX的值 MOV AH,2 MOV DL,0DH INT 21H MOV DL,0AH INT 21H MOV CX,2 ;设置循环次数为2次 LEA SI,CS1 ;将除数的首地址送出SI LEA DI,HEX2 ;将要存入的十进制ASCII码的变量的首地址送入DI POP AX ;恢复AX的值 MOV AL,AH ;将十六进制数送入AL,作被除数 JMP GGGZHW10: XOR AH,AH DIV BYTE PTRSI ADD AL,30H MOV DI,AL INC SI INC DI MOV AL,AH LOOP ZHW10 ;这一小段 ,用于将十六进制数转化为十进制数并将每一位变为ASCII码后存入变量HEX2 MOV DX,OFFSET HEX2 MOV AH,9 INT 21H ;以ASCII码形式显示A-F转化后的十进制数。KKK: MOV AH,09H MOV DX,OFFSET ERROR ;把err

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论