微机原理与接口课程设计报告模板参考.docx
- 文档编号:3319849
- 上传时间:2022-11-21
- 格式:DOCX
- 页数:25
- 大小:533.75KB
微机原理与接口课程设计报告模板参考.docx
《微机原理与接口课程设计报告模板参考.docx》由会员分享,可在线阅读,更多相关《微机原理与接口课程设计报告模板参考.docx(25页珍藏版)》请在冰豆网上搜索。
微机原理与接口课程设计报告模板参考
《微机原理与接口技术》
课程设计报告
班级:
学号:
姓名:
201X年X月
实验一显示程序实验..................................2
实验二数据传送实验.................................4
实验三数码转换程序实验.............................6
实验四运算类程序实验................................15
实验五分支程序设计实验.............................18
实验一显示程序实验
1、实验目的
1.掌握在PC机上以十六进制形式显示数据的方法;
2.掌握部分DOS功能调用使用方法;
3.熟悉Tddebug调试环境和TurboDebugger的使用。
二、实验内容
一般来说,程序需要显示输出提示运行的状况和结果,有的还需
要将数据区中的内容显示在屏幕上。
本实验要求将指定数据区的数
据以十六进制数形式显示在屏幕上,并通过DOS功能调用完成一
些提示信息的显示。
实验中可使用DOS功能调用(INT21H)。
(1)显示单个字符输出
入口:
AH=02H
调用参数:
DL=输出字符
(2)显示字符串
入口:
AH=09H
调用参数:
DS:
DX=串地址,’$’为结束字符
(3)键盘输入并回显
入口:
AH=01H
返回参数:
AL=输出字符
(4)返回DOS系统
入口:
AH=4CH
调用参数:
AL=返回码
3、实验设备
PC微机一台
四、实验代码
DATASEGMENT
MESDB'Showaashex:
',0AH,0DH,'$'
SDDB'a'
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
START:
MOVAX,DATA
MOVDS,AX
MOVDX,OFFSETMES;显示提示信息
MOVAH,09H
INT21H
MOVDI,OFFSETSD
MOVAL,DS:
[DI]
ANDAL,0F0H;取高4位
SHRAL,4
CMPAL,0AH;是否是A以上的数
JBC2
ADDAL,07H
C2:
ADDAL,30H
MOVDL,AL;显示字符
MOVAH,02H
INT21H
MOVAL,DS:
[DI]
ANDAL,0FH;取低4位
CMPAL,0AH
JBC3
ADDAL,07H
C3:
ADDAL,30H
MOVDL,AL;显示字符
MOVAH,02H
INT21H
MOVAX,4C00H;返回DOS
INT21H
CODEENDS
ENDSTART
五、运行结果
实验二数据传送实验
一、实验目的
1.熟悉Tddebug调试环境和TurboDebugger的使用;
2.掌握与数据有关的不同寻址方式。
二、实验所用设备
1.PC微机一台。
三、实验内容
将数据段中的一个字符串传送到附加段中,并输出附加段中的目标字符串到屏幕上。
参考实验程序:
DDATASEGMENT;定义源数据段
MSRDB"HELLO,WORLD!
$"
LENEQU$-MSR
DDATAENDS
EXDASEGMENT;定义附加数据段
MSDDBLENDUP(?
)
EXDAENDS
MYSTACKSEGMENTSTACK;定义堆栈段
DW20DUP(?
)
MYSTACKENDS
CODESEGMENT;定义代码段
ASSUMECS:
CODE,DS:
DDATA,ES:
EXDA
START:
MOVAX,DDATA
MOVDS,AX;装载数据段寄存器
MOVAX,EXDA
MOVES,AX;装载附加数据段寄存器
MOVSI,OFFSETMSR;设置SI
MOVDI,OFFSETMSD;设置DI
MOVCX,LEN
NEXT:
MOVAL,[SI];开始传输数据
INCSI
INCDI
DECCX
JNZNEXT
PUSHES
POPDS;将附加段寄存器的段值赋给数据段寄存器
MOVDX,OFFSETMSD
MOVAH,9
INT21H
MOVAX,4C00H;利用DOS功能调用返回DOS状态
INT21H
CODEENDS
ENDSTART
将程序主体部分的寄存器间接寻址方式改为相对寻址方式,则如下所示:
MOVBX,0
MOVCX,LEN
NEXT:
MOVAL,MSR[BX]
MOVES:
MSD[BX],AL
INCBX
LOOPNEXT
四、实验步骤
1.运行Tddebug软件,选择Edit菜单编写实验程序;
2.使用Compile菜单中的Compile和Link对实验程序进行汇编、连接;
3.使用Rmrun菜单中的Run,运行程序,观察运行结果;
4.使用Rmrun菜单中的Debug,调试程序,观察调试过程中,数据传输指令执行后,各寄存器及数据区的内容;
5.更改数据区中的数据,考察程序的正确性。
五、实验运行结果
实验三数码转换程序实验
一、实验目的
掌握不同进制数及编码相互转换的程序设计方法。
二、实验所用设备
PC微机一台。
三、实验内容
计算机输入设备输入的信息一般是由ASCII码或BCD码表示的数据或字符,CPU用二进制数进行计算或其它信息处理,处理结果的输出又必须依照外设的要求变为ASCII码、BCD码或七段显示码等。
因此,在应用软件中,各类数制的转换和代码的转换是必不可少的。
计算机与外设间的数码转换关系如图3-1所示,数码对应关系如表3-1所示。
图3-1计算机与外设间的数码转换关系
1.将ASCII码表示的十进制数转换为二进制数
十进制数可以表示为:
Dn×10n+Dn-1×10n-1+…+D0×100
=Di×10i其中Di代表十进制数1、2、3…9、0。
上式可以转换为:
ΣDi×10i=((…(Dn×10+Dn-1)×10)+Dn-2)×10+…+D1)×10+D0
由上式可归纳十进制数转换为二进制的方法:
从十进制数的最高位Dn开始作乘10加次位的操作,依次类推,则可求出二进制数结果。
本实验要求将缓冲区中的一个五位十进制数00012的ASCII码转换成二进制数,并将转换结果按位显示在屏幕上。
转换过程的参考流程如图3-2所示。
表3-1数码转换对应关系
2.将十进制数的ASCII码转换为BCD码
本实验要求将键盘输入的一个五位十进制数54321的ASCII码存放入数据区中,转换为BCD码后,并将转换结果按位分别显示于屏幕上。
若输入的不是十进制数的ASCII码,则输出“FF”。
提示:
一字节ASCII码取其低四位即变为BCD码。
转换部分的实验流程参见3-3。
3.将十六进制数的ASCII码转换为十进制数
十六位二进制数的值域为0-65535,最大可转换为五位十进制数。
五位十进制数可表示为:
ND=D4×104+D3×103+D2×102+D1×10+D0
因此,将十六位二进制数转换为五位ASCII码表示的十进制数,就是求D1-D4,并将它们转化为ASCII码。
图3-2十进制ASCII转换为
二进制数参考流程
图3-3十进制ASCII转换为
BCD码参考流程
本实验要求将缓冲区中存放的000CH的ASCII码转换成十进制数,并将转换结果显示在屏幕上。
转换部分的实验流程参见图3-4。
4.BCD码转换为二进制码
本实验要求将四个二位十进制数的BCD码存放在某一内存单元中,转换出的二进制数码存入其后的内存单元中,转换结束,送屏幕显示。
转换部分的实验流程参见3-5。
四、实验步骤
1.运行Tddebug软件,选择Edit菜单编写实验程序;
2.使用Compile菜单中的Compile和Link对实验程序进行汇编、连接;
3.使用Rmrun菜单中的Run,运行程序,观察运行结果;
4.使用Rmrun菜单中的Debug,调试程序,观察调试过程中,数据传输指令执行后,各寄存器及数据区的内容;
5.更改数据区中的数据,考察程序的正确性。
五、实验代码
1.将ASCII码表示的十进制数转换为二进制数
DATASEGMENT
STRINGDB'Input:
','$'
NUMDB6,?
6DUP(?
)
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
START:
MOVAX,DATA
MOVDS,AX
CALLINPUT
CALLCHANGE
CALLLIST_BX
MOVAH,4CH
INT21H
INPUTPROC
LEADX,STRING
MOVAH,09H
INT21H
LEADX,NUM
MOVAH,0AH
INT21H
RET
INPUTENDP
CHANGEPROC
LEASI,NUM+2
MOVCL,NUM+1
MOVCH,0
MOVAX,0
MOVDI,10
NEXT:
MULDI
MOVBH,0
MOVBL,[SI]
ANDBL,0FH
ADDAX,BX
INCSI
LOOPNEXT
ZERO:
MOVBX,AX
RET
CHANGEENDP
ADDDL,07H
LIST_BXPROC
MOVDL,0DH
MOVAH,2
INT21H
MOVDL,0AH
MOVAH,2
INT21H
MOVCH,4
MOVCL,4
NEXT1:
ROLBX,CL
MOVDL,BL
ANDDL,0FH
ADDDL,30H
CMPDL,39H
JLEPRINT
PRINT:
MOVAH,2H
INT21H
DECCH
JNZNEXT1
RET
LIST_BXENDP
CODEENDS
ENDSTART
2.将十进制数的ASCII码转换为BCD码
DATASEGMENT
D1DB6,?
6DUP(?
)
D2DB5DUP(?
)
D3DB'FF$'
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
START:
MOVAX,DATA
MOVDS,AX
MOVDX,OFFSETD1
MOVAH,0AH
INT21H
MOVDL,0DH
MOVAH,2
INT21H
MOVDL,0AH
MOVAH,2
INT21H
MOVCL,D1+1
MOVCH,0
MOVSI,0
L1:
MOVAL,D1[SI+2]
CMPAL,30H
JBL2
CMPAL,39H
JAL2
ANDAL,0FH
MOVD2[SI],AL
INCSI
LOOPL1
MOVCL,D1+1
MOVSI,0
L4:
MOVDL,D1[SI+2]
MOVAH,2
INT21H
INCSI
LOOPL4
JMPL3
L2:
MOVDX,OFFSETD3
MOVAH,09H
INT21H
L3:
MOVAH,4CH
INT21H
CODEENDS
ENDSTART
3.将十六进制数的ASCII码转换为十进制数
DATASEGMENT
D1DB'000C'
C1EQU$-D1
D2DW?
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
START:
MOVAX,DATA
MOVDS,AX
MOVCX,C1
MOVSI,OFFSETD1
MOVBX,10H
MOVAX,0
L1:
MOVDL,[SI]
SUBDL,30H
CMPDL,9
JBEL2
SUBDL,7H;十六进制数大写,若小写,减27h
L2:
MOVDH,0
PUSHDX
MULBX
POPDX
ADDAX,DX
INCSI
DECCX
JNZL1
MOVD2,AX
MOVBX,10000
MOVDX,0
DIVBX
PUSHDX
MOVDL,AL
ADDDL,30H
MOVAH,2
INT21H
POPAX
MOVBX,1000
MOVDX,0
DIVBX
PUSHDX
MOVDL,AL
ADDDL,30H
MOVAH,2
INT21H
POPAX
MOVBX,100
MOVDX,0
DIVBX
PUSHDX
MOVDL,AL
ADDDL,30H
MOVAH,2
INT21H
POPAX
MOVBX,10
MOVDX,0
DIVBX
PUSHDX
MOVDL,AL
ADDDL,30H
MOVAH,2
INT21H
POPAX
MOVDL,AL
ADDDL,30H
MOVAH,2
4.BCD转换为二进制码
DATASEGMENT
D1DB12H,34H,56H,78H
C1EQU$-D1
D2DBC1DUP(?
)
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
START:
MOVAX,DATA
MOVDS,AX
MOVCH,C1
MOVCL,4
MOVSI,0
MOVBH,10
L1:
MOVAL,D1[SI]
MOVBL,AL
ANDBL,0FH
ANDAL,0F0H
SHRAL,CL
MULBH
ADDAL,BL
MOVD2[SI],AL
INCSI
DECCH
JNZL1
L2:
MOVDL,0DH
MOVAH,2
INT21H
MOVDL,0AH
MOVAH,2
INT21H
MOVAL,D2[SI]
MOVDL,AL
ANDDL,0F0H
SHRDL,CL
ADDDL,30H
CMPDL,39H
JNAL3
ADDDL,7
L3:
PUSHAX
MOVAH,2
INT21H
POPAX
ANDAL,0FH
MOVDL,AL
ADDDL,30H
CMPDL,39H
JNAL4
ADDDL,7
L4:
MOVAH,2
INT21H
INCSI
六、实验运行结果
1.
2.
3.
4.
实验四运算类程序实验
一、实验目的
1.掌握运算类指令编程及调试方法;
2.掌握运算类指令对各状态标志位的影响及测试方法。
二、实验所用设备
1.PC微机一台。
三、实验内容
80x86指令系统提供了实现加、减、乘、除运算的基本指令,可对表4-1所示的数据类型进行算术运算。
表4-1数据类型算术运算表
1.二进制双精度加法运算
本实验要求计算X+Y=Z,将结果Z输出到屏幕,其中X=001565A0H,Y=0021B79EH。
实验利用累加器AX,先求低十六位和,并存入低址存储单元,后求高16位和,再存入高址存储单元。
由于低位和可能向高位有进位,因而高位字相加语句需用ADC指令,则低位相加有进位时,CF=1,高位字相加时,同时加上CF中的1。
在80386以上微机中可以直接使用32位寄存器和32位加法指令完成本实验的功能。
2.十进制数的BCD码减法运算
本实验要求计算X-Y=Z,其中,X、Y、Z为BCD码,其中X=0400H,Y=0102H。
3.乘法运算
本实验要求实现十进制数的乘法,被乘数和乘数均以BCD码形式存放于内存中,被乘数为54320H,乘数为3H,运算结束后,将乘积在屏幕上显示。
4.用减奇数开平方运算
80x86指令系统中有乘除法指令但没有开平方指令,因此,开平方运算是通过程序来实现的。
用减奇数法可求得近似平方根,获得平方根的整数部分。
我们知道,N个自然数中的奇数之和等于N2,即:
1+3+5=9=32
1+3+5+7=16=42
1+3+5+7+9+11+13+15=64=82
若要做S的开方运算,那麽就可以从S中逐次减去自然数中的奇数1,3,5,7…,一直进行到相减数为0或不够减下一个自然数的奇数为止,然后统计减去自然数的奇数个数,它就是S的近似平方根。
本实验要求利用减奇法计算0040H的开平方值,并将运算结果显示在屏幕上。
四、实验步骤
1.运行Tddebug软件,选择Edit菜单编写实验程序;
2.使用Compile菜单中的Compile和Link对实验程序进行汇编、连接;
3.使用Rmrun菜单中的Run,运行程序,观察运行结果;
4.使用Rmrun菜单中的Debug,调试程序,观察调试过程中,数据传输指令执行后,各寄存器及数据区的内容;
5.更改数据区中的数据,考察程序的正确性。
五、实验代码
二进制双精度加法运算
DATASEGMENT
XDW65A0H,0015H
YDW0B79EH,0021H
ZDW2DUP(?
)
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
START:
MOVAX,DATA
MOVDS,AX
MOVCX,2
CLC
MOVSI,0
L1:
MOVAX,X[SI]
ADCAX,Y[SI]
MOVZ[SI],AX
INCSI
INCSI
LOOPL1
MOVBX,Z[2]
CALLLIST_BX
MOVBX,Z
CALLLIST_BX
MOVAH,4CH
INT21H
LIST_BXPROC
MOVCH,4
MOVCL,4
NEXT:
ROLBX,CL
MOVDL,BL
ANDDL,0FH
ADDDL,30H
CMPDL,39H
JLEPRINT
ADDDL,7
PRINT:
MOVAH,2
INT21H
DECCH
JNZNEXT
RET
LIST_BXENDP
CODEENDS
ENDSTART
5、实验运行结果
实验五分支程序设计实验
一、实验目的
1.掌握分支程序的设计方法。
二、实验所用设备
1.PC微机一台。
三、实验内容
程序有顺序、循环、分支和子程序四种结构形式,分支结构的示意图如图5-1所示。
本实验要求通过求无符号字节序列中的最大值和最小值来反映分支程序的结构形式。
图5-1分支结构示意图
实验可以使用BH,BL作为暂存现行的最大值和最小值,且在程
序的初始,将BH和BL初始化为首字节的内容,然后进入循环操作。
在循环操作中,依次从字节序列中逐个取出一个字节的内容与BH,BL进行比较,若取出的字节内容比BH的内容大或比BL中的内容小,则修改之。
当循环结束操作时,将BH,BL分别送屏幕显示。
参考实验流程如图5-2所示。
四、实验步骤
1.运行Tddebug软件,选择Edit菜单编写实验程序,提供8字节的数据:
0D9H,07H,8BH,0C5H,0EBH,04H,9DH,0F9H;
2.使用Compile菜单中的Compile和Link对实验程序进行汇编、连接;
3.使用Rmrun菜单中的Run,运行程序,观察运行结果;
4.更改数据区中的数据,考察程序的正确性。
五、实验代码
DATASEGMENT
D1DB0D9H,07H,8BH,0C5H,0EBH,04H,9DH,0F9H
C1EQU$-D1
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
START:
MOVAX,DATA
MOVDS,AX
MOVCX,C1-1
MOVSI,0
MOVBL,D1[SI]
MOVBH,D1[SI]
L1:
INCSI
MOVAL,D1[SI]
CMPAL,BL
JNBL2
MOVBL,AL
L2:
CMPAL,BH
JNAL3
MOVBH,AL
L3:
LOOPL1
CALLDISP
MOVDL,0AH
MOVAH,2
INT21H
MOVDL,0DH
MOVAH,2
INT21H
MOVBL,BH
CALLDISP
MOVAH,4CH
INT21H
DISPPROC
MOVCH,2
MOVCL,4
NEXT:
ROLBL,CL
MOVDL,BL
ANDDL,0FH
ADDDL,30H
CMPDL,39H
JLEPRINT
ADDDL,7
PRINT:
MOVAH,2
INT21H
DECCH
JNZNEXT
RET
DISPENDP
CODEENDS
ENDSTART
5、实验运行结果
课程设计实验感想
指导教师评语
成绩(百分制)__________________
指导教师签字:
年 月 日
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 原理 接口 课程设计 报告 模板 参考