实验三从键盘输入数据并显示_第1页
实验三从键盘输入数据并显示_第2页
实验三从键盘输入数据并显示_第3页
全文预览已结束

下载本文档

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

文档简介

1、实验 2 从键盘输入数据并显示编写程序,将键盘接收到的 4 位 16 进制数转换为等值的二进制数,再显示在荧 光屏上。分析:整个程序分为 3 个部分:键盘输入、转换、显示,可以分别用子程序来完 成。1. 输入。输入可以利用字符串输入。这时需要在主程序中先开辟一段输入缓冲区。先复习一下字符串输入的知识字符串输入 ( OAH入口参数功能 )DS : DX = 缓冲区的首地址( DS :DX ) = 限制最多输入的字符数功能号类型号 出口参数AH = OAH21H( DS : DX+1 ) =实际键入的字符 (不含回车符 )从( DS : DX+2 ) 开始顺序存放键入的字符串, 回车符ODH为串尾

2、最后一字符。实现功能等待从键盘输入字符串,并存入设定的缓冲区内,同时回显字符串,光标随着移动,回车符使光标回到行首注意事项:应按要求先定义缓冲区,再调用。 数据缓冲区的设置如下: data SEGMENT ; 定义缓冲区 stri DB PLEASE INPUT ,OAH,ODH, $ ; 输入提示 maxDB 4; 定义限制最多输入个数 lenthDB ?; 用于存放实际输入个数 striDB 5 DUP(?) ; 用于存放输入的字符串data ENDS从键盘输入 ABCD, 回车,内存的存放结果 :子程序如下:INPUT PROCLEADX, stri调显示功MOV AH, O9HINT

3、21H LEA DX , maxMOV AH , 0AHINT 21H ; 调 0A 输入功能RETINPUT ENDP 2. 转换。由于在缓冲区中存放的是输入字符的 ASCII 码,比如1-31H241H , a-61H所以首先需要将它们转换成对应的数字的大小。如 10000, 0001B, A 和 a1010。如何转换? 数字和字母的 ASCII 码是一个有序序列 数字 09:30H 39H大写字母 AZ :41H 5AH小写字母 az :61H 7AH对于每个字符,先减去30H,数字09就转换完了;如果判断是否 大于09H,是则减去07H,大写字母AF转换完毕,如果是小写字母af ,还要

4、 减去 20H。假设用 SI 间指数据缓冲区,程序段如下:MOV AL, SI; 应用输入字符SUBAL,30HCMP AL,09H; 大于 09H, 则为字符JLE LOOP1;为字母 AF的 ASCIISUB AL, 07HLOOP1:CMP AL, 20HJLE NEXT1; 为字母 af 的 ASCII SUB AL, 20HNEXT1:; 后续处理 利用一个循环就可以将 4 个字符转换成相应的二进制数。 现在,在数据缓冲区中存放的是输入的 16进制数每一位的值, 占用了 4个字节, 每个字节只用到低四位。如:输入为ABCD则缓冲区中存放的是:0AH 0BH 0CH 0DH 实验要求将

5、输入的 4 位 16进制数转换成等值的二进制数,也就是一个字,所以 还要将这 4 个字节进行组合。组合方法如下:取出最高的两位,女口 0AH 0BH放入寄存器 AX中,(注意:AH=0BHAL=0AH , 将AL左移4位,变成A0H和AH相“或”,得到AL=ABH存入BH寄存器;同 理将后两个字节组合成一个字节,存入 BL寄存器。3.显示。可以调用“以二进制的形式显示 BX寄存器的内容”子程序来实现合成部分的程序段:MOV CX,4;移位次数LEASI , STRI;取前两个字节送AXMOVAX, SISHLAL,CL;AL左移四位ORAL,AHMOVBH , AL;保存LEASI , STRI+2MOVAX, SISHLAL,CLORAL,AHMOVBL , AL主程序:codeSEGMENTASSUMECS:code, DS:datastart:MOVAX , data;置缓冲区地址于DS:DXMOVDS , AXLEADX, striMOVAH, 09H;

温馨提示

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

评论

0/150

提交评论