文档介绍:
微机实验报告学院:###专业班级:##序号:##姓名:###实验名称:实验二:数码转码编程及程序调试实验日期:2016.04实验二数码转码编程及程序调试一.实验目的1.掌握不同进程数及编码相互转换的程序设计方法,加深对数码转换的理解;2.进一步熟悉键盘使用方法;进一步熟悉调试程序的方法二.实验设备装有汇编软件的IBMPC机一台三.实验内容1.将ASCII码表示的十进制数转换为二进制数。这里我们规定:被转换的ASCII码十进制数存放在3500h~3504h单位中。而转换结果在3510~3511单位中。2.将从键盘输入的五位十进制数的ASCII码已存在3500起始的内存单元中。把它转换成BCD码后,再按位分别存入3510起始的内存单元内。若输入的不是十进制的ASCII码,则显示FF.3.将十六位二进制数转换为ASCII码表示的十进制数。十六进制数的值域为0~65535,最大可转换为五位十进制数。4.十六进制数转换为ASCII码。设经过CPU处理后的十六进制存放在起始地址为3500H的内存中,把它们转换成ASCII码之后,再分别存入起始地址为3510的内存单元中。5.BCD码转换为二进制码。设四个二位十进制的BCD码存放在起始地址为3500H的单元中,转换出的二进制数码存入起始为3510的内存单元中。四.3500HSOURCE1DB30H,30H,30H,31H,3530HMULNUMDW10DATAENDSCODESEGMENTASSUMEDS:DATA,CS:CODESTART:MOVAX,DATAMOVDS,AXMOVCL,COUNTMOVSI,OFFSETMULNUMMOVAX,0MOVDX,0MOVBX,OFFSETSOURCE1ADDAL,BYTEPTR[BX]SUBAX,30HNEXT:MULWORDPTR[SI]INCBXADDAL,BYTEPTR[BX]XCHGAH,DHLAHFANDAH,01HADDAH,DHSUBAX,LJNZNEXTMOVBX,OFFSETRESULTMOV[BX],AXRETCODEENDSENDSTART运行结果:3500~3504h单元存入30H,30H,30H,31H,32H,结果如下:3500~3504h单元存入31H,32H,33H,34H,35H,结果如下:3500HSOURCEDB41H,32H,33H,24H,3510HRESULTDB5DUP(?)ORG3520HCOUNTEQU5DATAENDSCODESEGMENTASSUMEDS:DATA,CS:CODESTART:MOVAX,DATAMOVDS,AXMOVCX,COUNTMOVSI,OFFSETSOURCEMOVDI,OFFSETRESULTNEXT:MOVDL,0FFHMOVAL,[SI]CMPAL,39HJGNEXT1SUBAL,30HCMPAL,0JLNEXT1MOV[DI],XCMPCX,0JNENEXTJEEXITNEXT1:MOV[DI],XCMPCX,0JNENEXTJEEXITEXIT:RETCODEENDSENDSTART运行结果:3500~3504h单元存入41H,32H,33H,24H,35H,结果如下:3500~3504h单元存入31H,32H,33H,34H,35H,结果如下:3510HRESULTDB5DUP(
内容来自淘豆网www.taodocs.com转载请标明出处.