实验1(显示程序实验)_第1页
实验1(显示程序实验)_第2页
实验1(显示程序实验)_第3页
全文预览已结束

下载本文档

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

文档简介

实验1:显示程序实验一、实验目的1、掌握在PC 机上以16进制数据形式显示数据的方法。2、掌握部分DOS功能调用的使用方法。3、熟悉TDDEBUG集成软件的使用。二、实验原理分析一般来说,从键盘上输入的数都是以ASCII码的形式存放在内存中。另外,数据区中以字符形式定义的数(用单引号括起来的数),在内存中也是以其对应的ASCII码存放的。1、数据显示输入到内存的数据或字符是以ASCII码形式保存,若再显示在屏幕上,则还原成源数据或字符。例如:数字“7”,存放在内存中是“37H”(即:7的16进制ASCII码),直接显示在屏幕上时也是数字“7”(一般通过DOS功能调用)。数字型数据“09”转换成ASCII码后,对应的16进制值分别为“30H39H”。字符型数据“AZ” 转换成ASCII码后,对应的16进制值分别为“41H5AH”;字符型数据“az” 转换成ASCII码后,对应的16进制值分别为“61H7AH”。从转换后的16进制ASCII码值来分析,16进制值的“09”可以视为对应的ASCII码值“30H39H”减去30H后得到;16进制值的“AF” 可以视为对应的ASCII码值“41H46H”37H(减去30H、再减去7H)后得到。即:0H=30H30H AH=41H37H1H=31H30H BH=42H37H2H=32H30H CH=43H37HDH=44H37HEH=45H37HFH=46H37H8H=38H30H9H=39H30H换句话说:如果内存中存放的是任一ASCII码值,则显示在屏幕后就是其对应的字符值。2、关于DOS功能调用微机系统中的系统软件为用户提供了多种功能调用服务,即用户在进行汇编程序设计时,无需再对这些功能进行汇编编程设计,而直接在自己的用户程序中来调用这些功能程序。一般有二种功能调用,(1)DOS功能调用,也称高级调用;(2)BIOS功能调用,也称低级调用。用户程序在调用这些功能服务程序时,使用软中断指令:“INT n”。所有DOS系统功能调用使用软中断指令“INT 21H”来实现,即:MOV AH ; 为功能号INT 21H(1)键盘输入从键盘上输入的所有内容都作为ASCII字符对待(控制键除外)。进行单字符输入时,使用1、7和8功能号。其中7、8号无回显功能;1号有回显功能(即键盘输入的内容同时也显示在屏幕上)。 MOV AH,1INT 21H进行字符串输入时,使用0AH功能号。MOV AH,0AINT 21H(2)显示器输出要将一个字符串送到显示器显示,可调用DOS功能的2、6、9号功能实现。其中,功能2、6用于显示单个字符,功能9显示一个字符串。例如:MOV DL, ;要显示的字符必须放在DL中MOV AH,2 ;功能号送AHINT 21 ;执行系统功能调用(3)返回到DOS程序执行完后将控制权交给DOS系统,称为返回DOS。使用如下程序段:MOV AH,4CH ;功能号送AHINT 21H ;返回DOS三、实验内容说明一般来说,很多程序需要显示运行状态和结果,有的还需要将数据区中的内容显示在屏幕上。本实验要求编写程序,其功能是将指定数据区的数据以十六进制形式显示在屏幕上,并通过DOS功能调用完成一些提示信息的显示。实验中的数据主要是指字符型的数据(如“A、B、Z”或“a、b、z”)和数值型的数据(如“0、1、9”)等。这些数据可以通过键盘输入,也可以在数据区中定义,但在内存中均以对应的ASCII码存放,送到屏幕显示后就还原为原数据字符。例如:“7”存入内存后为“37H”,送屏幕显示时还原为“7”;“A”存入内存后为“41H”,送屏幕显示时还原为“A”;“ab”存入内存后为“61H、62H”,送屏幕显示时还原为“ab”。1、实验分析提示:本实验要求数据存入内存后在送屏幕显示时,显示其对应的16进制的ASCII码值。即,数据“7”存入内存后,送屏幕显示时应显示“37”;数据“A”存入内存后,送屏幕显示时应显示“41”;数据“ab”存入内存后,送屏幕显示时应显示“6162”。数据写入内存后,其ASCII码值为8位二进制值(也可以2位16进制值表示),可以分为高4位和低4位二个部分。通过编写程序,如果能实现在屏幕上先显示数据的ASCII码高4位的16进制值,再显示数据的ASCII码低4位的16进制值,就能达到实验的目的。如:“7”,对应二进制ASCII码值为B,高4位为0110,低4位为0111。(或“7”,对应16进制ASCII码值为37H,高4位为3,低4位为7)。任何一个数据的ASCII码高4位(或低4位)的16进制值范围为“0F”,显示“09”值时,在内存中存放“30H39H”的ASCII码值。显示“A、B、C、D、E、F”等值时,在内存中存放“41H、42H、43H、44H、45H、46H”的ASCII码值。2、程序编写提示:任何数据写入内存后,先分别取其对应的ASCII高4位和低4位的16进制值(1)若所取的值在09的范围时,将该值加上30H。 即: 取值“0”,对应0H+30H=30H;取值“1”,对应1H+30H=31H;取值“9”,对应9H+30H=39H; 再存入内存中,然后送屏幕显示。(2)若所取的值在AF的范围时,将该值先加7D,再加30H。即: 取值“A”,对应(10+7)D=17D=11H,11H+30H=41H;取值“B”,对

温馨提示

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

评论

0/150

提交评论