实验一数码转换编程及程序调试..docVIP

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验一数码转换编程及程序调试.

实验一 数码转换编程及程序调试 一、实验目的 掌握不同进制数及编码相互转换的程序设计方法,加深对数码转换的理解。 熟悉程序调试的方法。 二、实验设备 Pc微机一台,TD-PITE实验装置一套。 三、实验内容及步骤 计算机输入设备输入的信息一般是由ASSII码或BCD码表示的数据或字符,CPU一般均用二进制数进行计算或其它信息处理,处理结果的输出又必须依照外设的要求变为ASCII码、BCD码或七段显示码等。因此,在应用软件中,各类数制的转换是必不可少的。 计算机与外设间的数制转换关系如图所示2-1所示,数制对应关系如表2-1所示。 图2-1 数制转换关系 ?表1? 数制对应关系表1. 将ASCII码表示的十进制数转换为二进制数 十进制表示为: Di代表十进制数0,1,2,…,9; 上式转换为: 由此可归纳十进制数转换为二进制数的方法:从十进制数的最高位Dn开始作乘10加次位的操作,依次类推,则可求出二进制数的结果。 参考流程: 实验程序: PUBLIC SADD SSTACK SEGMENT STACK DW 64 DUP(?) SSTACK ENDS DATA SEGMENT SADD DB 30H,30H,32H,35H,36H ;十进制数:00256 DATA ENDS CODE SEGMENT ASSUME CS:CODE, DS:DATA START: MOV AX, DATA MOV DS, AX MOV AX, OFFSET SADD MOV SI, AX MOV BX, 000AH MOV CX, 0004H MOV AH, 00H MOV AL, [SI] SUB AL, 30H A1: IMUL BX MOV DX, [SI+01] AND DX, 00FFH ADC AX, DX SUB AL, 30H INC SI LOOP A1 A2: JMP A2 CODE ENDS END START   实验步骤: (1)绘制程序流程图,编写实验程序,经编译、链接无误后装入系统; (2)待转换数据存放于数据段,根据自己要求输入,默认为30H,30H,32H,35H,36H; (3)运行程序,然后停止程序; (4)查看AX寄存器,即为转换结果,应为:0100 ; (5)反复试几组数据,验证程序的正确性。   2. 将十进制数的ASCII码转换为BCD码 从键盘输入五位十进制数的ASCII码,存放于3500H起始的内存单元中,将其转换为BCD码后,再按位分别存入350AH起始的内存单元内。若输入的不是十进制的ASCII码,则对应存放结果的单元内容为“FF”。由表1可知,一字节ASCII码取其低四位即变为BCD码。STACK SEGMENT STACK DW 64 DUP(?) STACK ENDS CODE SEGMENT ASSUME CS:CODE START: MOV CX, 0005H ;转换位数 MOV DI, 3500H ;ASCII码首地址 A1: MOV BL, 0FFH ;将错误标志存入BL MOV AL, [DI] CMP AL, 3AH JNB A2 ;不低于3AH则转A2 SUB AL, 30H JB A2 ;低于30H则转A2 MOV BL, AL A2: MOV AL, BL ;结果或错误标志送入AL MOV [DI+0AH],AL ;结果存入目标地址 INC DI LOOP A1 A3: JMP A3 CODE ENDS END START 实验步骤: (1)自己绘制程序流程图,然后编写程序,编译、链接无误后装入系统; (2)在3500H~3504H单元中存放五位十进制数的ASCII码,即:键入E3500后,输入31,32,33,34,35; (3)运行程序,然后停止程序运行; (4)键入D350A,显示运行结果,应为: 0000:350A 01 02 03 04 05 CC … (5)反复测试几组数据,验证程序功能。   3. 将十六位二进制数转换为ASCII码表示的十进制数 十六位二进制数的值域为0~65535,最大可转换为五位十进制数。 五位十进制数可表示为: Di:表示十进制数0~9 将十六位二进制数转换为五位ASCII码表示的十进制数,就是求D1~D4,并将它们转换为ASCII码。自行绘制程序流程图,编写程序可参考例程。例程中源数存放于3500H、3501H中,转换结果存放于3510H~3514H单元中。   STACK

文档评论(0)

sfkl + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档