资源描述:
《vip微机原理实验指导书_机械、信管》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实验一系统认识与数码转换实验一、实验目的1.学习汇编语言的开发过程。2.熟练掌握DEBUG调试程序。参考书后附录E二、实验设备PC机一台三、实验内容及步骤1.系统认识实验在内存缓冲区BUFF中存储0-F共16个字节数据,实验参考程序如下:DATASEGMENTBUFFDB16DUP(?);定义数据段DATAENDSCODESEGMENT;定义代码段ASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVDI,OFFSETBUFF;设置缓冲区首址MOVCX,16;字节数送入CX中MOVAL,0A1:MOV[DI],AL;写入一字节INCDI;修改地
2、址指针INCAL;修改数据LOOPA1;未填完循环MOVAH,4CHINT21HCODEENDS;代码段结束ENDSTART;程序结束10实验步骤:(1)把实验用的相关软件拷贝到PC机中,比如D盘的HUIBIAN文件夹(D:HUIBIAN)。(2)进入DOS环境(开始程序附件‘C:命令提示符’),进入路径D:HUIBIAN。(3)编辑,启动编辑软件EDIT,输入源程序,检查无误后存盘,如文件名11.ASM。(4)汇编,即键入MASM11.ASM回车,通过后应生成文件11.OBJ。(5)连接,即键入LINK11.OBJ回车,通过后应生成文件11.EXE。(6)调试,即键入DE
3、BUG11.EXE,进入调试软件DEBUG来调试源程序。DEBUG的用法可参考教材的附录E。(7)运行程序,观察结果是否正确。2.数码转换实验将十进制数的ASCⅡ码转换为BCD码。设五位十进制数的ASCⅡ码已存放在内存缓冲区BUF1中,转换为BCD码后,再分别存入内存缓冲区BUF2中。提示:一字节ASCⅡ码取其低四位即变为BCD码。实验程序如下:DATASEGMENTBUF1DB31H,32H,33H,34H,35H;定义数据段BUF2DB5DUP(?)DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOV
4、CX,5;循环计数器赋初值MOVSI,OFFSETBUF1;ASCⅡ码首址MOVDI,OFFSETBUF2;BCD码首址A1:MOVAL,[SI];送ASCⅡ码至ALCMPAL,3AH;比较AL与3AJAEA2;大于3A则转A2SUBAL,30H;小于3A则取ASCⅡ码低4位JBA2;小于30则转A2MOV[DI],AL;保存结果A2:INCSIINCDILOOPA110MOVAH,4CHINT21HCODEENDSENDSTART实验步骤(1)输入源程序,进行汇编、连接。(2)进入DEBUG运行程序,观察结果是否正确。(3)反复试几组数,并运行程序,观察结果。10实验二顺序程序设计一
5、、实验目的1.进一步熟悉汇编语言的开发过程。2.掌握顺序程序的设计方法。二、实验设备PC机一台三、实验内容及步骤1.二进制双精度加法运算计算X+Y=Z,实验程序如下:DATASEGMENTXLDW65A0H;请在此处给X低位赋值XHDW0015H;请在此处给X高位赋值YLDW0B79EH;请在此处给Y低位赋值YHDW0021H;请在此处给Y高位赋值ZLDW?ZHDW?DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVAX,XL;X低位送AXADDAX,YL;X低位加Y低位MOVZL,AX;存低位和MOV
6、AX,XH;X高位送AXADCAX,YH;X高位加Y高位MOVZH,AXMOVAH,4CHINT21HCODEENDSENDSTART10本实验程序是双精度(2个16位,即32位)运算,利用累加器AX,先求低十六位和,并存入低址存储单元,后求高16位和,再存入高址存储单元。由于低位和可能向高位有进位,因而高位字相加语句需用ADC指令,则低位相加有进位时,CF=1,高位字相加时,同时加上CF中的1。实验步骤(1)输入源程序,进行汇编、连接。(2)进入DEBUG运行程序,观察结果是否正确。(3)修改源程序,反复试几组数,运行程序观察结果。2.将一字节压缩BCD码转换为两个ASCII码实验参
7、考程序如下:DATASEGMENTBCDBUFDB96HASCBUFDB2DUP(?)DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVAL,BCDBUF将BCD码存放到AL和BLMOVBL,ALMOVCL,4SHRBL,CL右移4位,高4位移到低4位ADDBL,30H得到高位的ASCII码MOVASCBUF,BLANDAL,0FH清高4位ADDAL,30H得到