vip微机原理实验指导书机械信管.docx
- 文档编号:30058801
- 上传时间:2023-08-04
- 格式:DOCX
- 页数:11
- 大小:17.56KB
vip微机原理实验指导书机械信管.docx
《vip微机原理实验指导书机械信管.docx》由会员分享,可在线阅读,更多相关《vip微机原理实验指导书机械信管.docx(11页珍藏版)》请在冰豆网上搜索。
vip微机原理实验指导书机械信管
实验一系统认识与数码转换实验
一、实验目的
1.学习汇编语言的开发过程。
2.熟练掌握DEBUG调试程序。
参考书后附录E
二、实验设备
PC机一台
三、实验内容及步骤
1.系统认识实验
在内存缓冲区BUFF中存储0-F共16个字节数据,实验参考程序如下:
DATASEGMENT
BUFFDB16DUP(?
);定义数据段
DATAENDS
CODESEGMENT;定义代码段
ASSUMECS:
CODE,DS:
DATA
START:
MOVAX,DATA
MOVDS,AX
MOVDI,OFFSETBUFF;设置缓冲区首址
MOVCX,16;字节数送入CX中
MOVAL,0
A1:
MOV[DI],AL;写入一字节
INCDI;修改地址指针
INCAL;修改数据
LOOPA1;未填完循环
MOVAH,4CH
INT21H
CODEENDS;代码段结束
ENDSTART;程序结束
实验步骤:
(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)调试,即键入DEBUG11.EXE,进入调试软件DEBUG来调试源程序。
DEBUG的用法可参考教材的附录E。
(7)运行程序,观察结果是否正确。
2.数码转换实验
将十进制数的ASCⅡ码转换为BCD码。
设五位十进制数的ASCⅡ码已存放在内存缓冲区BUF1中,转换为BCD码后,再分别存入内存缓冲区BUF2中。
提示:
一字节ASCⅡ码取其低四位即变为BCD码。
实验程序如下:
DATASEGMENT
BUF1DB31H,32H,33H,34H,35H;定义数据段
BUF2DB5DUP(?
)
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
START:
MOVAX,DATA
MOVDS,AX
MOVCX,5;循环计数器赋初值
MOVSI,OFFSETBUF1;ASCⅡ码首址
MOVDI,OFFSETBUF2;BCD码首址
A1:
MOVAL,[SI];送ASCⅡ码至AL
CMPAL,3AH;比较AL与3A
JAEA2;大于3A则转A2
SUBAL,30H;小于3A则取ASCⅡ码低4位
JBA2;小于30则转A2
MOV[DI],AL;保存结果
A2:
INCSI
INCDI
LOOPA1
MOVAH,4CH
INT21H
CODEENDS
ENDSTART
实验步骤
(1)输入源程序,进行汇编、连接。
(2)进入DEBUG运行程序,观察结果是否正确。
(3)反复试几组数,并运行程序,观察结果。
实验二顺序程序设计
一、实验目的
1.进一步熟悉汇编语言的开发过程。
2.掌握顺序程序的设计方法。
二、实验设备
PC机一台
三、实验内容及步骤
1.二进制双精度加法运算
计算X+Y=Z,实验程序如下:
DATASEGMENT
XLDW65A0H;请在此处给X低位赋值
XHDW0015H;请在此处给X高位赋值
YLDW0B79EH;请在此处给Y低位赋值
YHDW0021H;请在此处给Y高位赋值
ZLDW?
ZHDW?
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
START:
MOVAX,DATA
MOVDS,AX
MOVAX,XL;X低位送AX
ADDAX,YL;X低位加Y低位
MOVZL,AX;存低位和
MOVAX,XH;X高位送AX
ADCAX,YH;X高位加Y高位
MOVZH,AX
MOVAH,4CH
INT21H
CODEENDS
ENDSTART
本实验程序是双精度(2个16位,即32位)运算,利用累加器AX,先求低十六位和,并存入低址存储单元,后求高16位和,再存入高址存储单元。
由于低位和可能向高位有进位,因而高位字相加语句需用ADC指令,则低位相加有进位时,CF=1,高位字相加时,同时加上CF中的1。
实验步骤
(1)输入源程序,进行汇编、连接。
(2)进入DEBUG运行程序,观察结果是否正确。
(3)修改源程序,反复试几组数,运行程序观察结果。
2.将一字节压缩BCD码转换为两个ASCII码
实验参考程序如下:
DATASEGMENT
BCDBUFDB96H
ASCBUFDB2DUP(?
)
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
START:
MOVAX,DATA
MOVDS,AX
MOVAL,BCDBUF将BCD码存放到AL和BL
MOVBL,AL
MOVCL,4
SHRBL,CL右移4位,高4位移到低4位
ADDBL,30H得到高位的ASCII码
MOVASCBUF,BL
ANDAL,0FH清高4位
ADDAL,30H得到低位的ASCII码
MOVASCBUF+1,AL
MOVAH,4CH
INT21H
CODEENDS
ENDSTART
实验步骤
(1)阅读程序,给程序加上注释。
(2)输入源程序,进行汇编、连接。
(3)进入DEBUG运行程序,观察结果是否正确。
(4)修改源程序,反复试几组数,运行程序观察结果。
3.编写程序
计算AB+CD,其中A、B、C、D均为有符号字数据。
DATASEGMENT
ADB10H
BDB20H
CDB30H
DDB40H
ZDB?
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
START:
MOVAX,DATA
MOVDS,AX
MOVAL,A
IMULB
MOVBX,AX
MOVAL,C
IMULD
ADDAX,BX
MOVZ,AX
MOVAH,4CH
INT21H
CODEENDS
ENDSTART
实验三分支程序设计实验
一、实验目的
1.掌握分支程序的结构。
2.掌握分支程序的设计、调试方法。
二、实验设备
PC机一台
三、实验内容及步骤
1.求无符号字节序列中的最大值和最小值
设内存缓冲区BUFF中存有10个字节无符号数,试编程求出其中的最大值和最小值,分别存于MAX和MIN单元中。
实验程序如下:
DATASEGMENT
BUFFDB……;此处填写10个具体的数据
MAXDB?
MINDB?
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
START:
MOVAX,DATA
MOVDS,AX
MOVCX,10
MOVSI,OFFSETBUFF
MOVCX,10
MOVBH,[SI]
MOVBL,BH
A1:
MOVAL,[SI]
CMPAL,BH
JBEA2
MOVBH,AL
JMPA3
A2:
CMPAL,BL
JAEA3
MOVBL,AL
A3:
INCSI
LOOPA1
MOVMAX,BH
MOVMIN,BL
MOVAH,4CH
INT21H
CODEENDS
ENDSTART
实验步骤
(1)阅读程序,给程序加上注释。
(2)输入源程序,进行汇编、连接。
(3)进入DEBUG运行程序,观察结果是否正确。
(4)修改源程序,反复试几组数,运行程序观察结果。
2.设在变量单元A、B和C中存放有三个数,若三个数都不为0,则求出三个数之和存入D单元中;若有一个为0,则将其它两个单元也清0,试编写程序。
3.十个学生的成绩分别为56、69、84、82、73、88、98、63、100和80分,依次存放在字变量GRADE中,试编制程序,统计低于60分、60~69分、70~79分、80~89分、90~99分及100分的人数,并分别存放在S5、S6、S7、S8、S9及S10单元中。
实验四循环程序设计
一、实验目的
1.加深对循环结构的理解。
2.掌握循环结构程序设计的方法。
3.熟练掌握调试循环程序的方法。
二、实验设备
PC机一台
三、实验内容及步骤
1.求某数据区内负数的个数
设数据区SHUJU的第一单元存放数据的个数,从第二单元开始存放数据,在区内最后一个单元存放结果。
为统计数据区内负数的个数,需要逐个判断区内的每一个数据,然后将所有数据中凡是符号位为1的数据的个数累加起来,即得区内所包含负数的个数。
实验程序如下:
DATASEGMENT
SHUJUDB……;此处按要求填写具体的数据
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
START:
MOVAX,DATA
MOVDS,AX
MOVDI,OFFSETSHUJU;设数据区首址
MOVCL,[DI];送数据个数
XORCH,CH;CH清0
MOVBL,CH;BL清0
INCDI;指针指向第一个数据
A1:
MOVAL,[DI]
TESTAL,80H;数据首位是否为1
JEA2
INCBL;负数个数累加
A2:
INCDI
LOOPA1
MOV[DI],BL;存结果
MOVAH,4CH
INT21H
CODEENDS
ENDSTART
实验步骤
(1)输入源程序,进行汇编、连接。
(2)进入DEBUG运行程序,观察结果是否正确。
(3)修改源程序,反复试几组数,运行程序观察结果。
2.修改程序2,使其能分别求出数据区中正数、零和负数的个数。
3.设内存缓冲区GRADE中存有20个学生的成绩,编写程序,计算其平均分数,存在单元AVEGR中。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- vip 微机 原理 实验 指导书 机械