如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
东北大学计算机硬件技术基础实验报告专业班级:姓名:学号:实验题目:顺序程序设计日期:2013/10/23实验目的:1)掌握顺序程序设计方法;2)学习数据传送及算术和逻辑运算指令的用法;3)熟悉在PC机上建立、汇编、连接、调试和运行8086汇编语言程序的过程。实验内容:编制程序,将字节变量BVAR中的压缩BCD数转换成二进制数,并存入原变量中。在编写程序前,首先要确定转换算法。第一步,取压缩BCD数的十位;第二步,计算十位数乘以10;第三步,取个位数相加。实验步骤:1、输入源程序如下:DSEGSEGMENTBVARDB99HDSEGENDSCSEGSEGMENTASSUMECS:CSEG,DS:DSEGSTART:MOVAX,DSEGMOVDS,AXMOVAL,BVARMOVCL,4SHRAL,CLMOVAH,10MULAHANDBVAR,0FHADDBVAR,ALMOVAH,4CHINT21HCSEGENDSENDSTART2、实验步骤。思考题:程序中求个位数乘以10采用指令MUL实现,而用移位指令也可以实现,请问应如何修改程序?答:DSEGSEGMENTBVARDB99HDSEGENDSCSEGSEGMENTASSUMECS:CSEG,DS:DSEGSTART:MOVAX,DSEGMOVDS,AXMOVAL,BVARMOVCL,4SHRAL,CLSHLAL,1ANDBVAR,0FHADDBVAR,ALMOVAH,4CHINT21HCSEGENDSENDSTART扩展题:这个程序还有另外一个编制算法,即首先将压缩BCD数转换成非压缩BCD数,然后通过BCD码调整指令将其转换成二进制数。请问应该使用哪一个调整指令?试编制程序。DSEGSEGMENTBVARDB99HDSEGENDSCSEGSEGMENTASSUMECS:CSEG,DS:DSEGSTART:MOVAX,DSEGMOVDS,AXMOVAL,BVARMOVAH,ALMOVCL,4SHRAH,CL;取高4位ANDAL,0FH;取低4位AAD;AH乘以10与AL相加,结果存入AL,并将AH清0MOVBVAR,ALMOVAH,4CHINT21HCSEGENDSENDSTART