微机接口技术实验指导书实验报告.docx
- 文档编号:6036023
- 上传时间:2023-01-03
- 格式:DOCX
- 页数:12
- 大小:98.98KB
微机接口技术实验指导书实验报告.docx
《微机接口技术实验指导书实验报告.docx》由会员分享,可在线阅读,更多相关《微机接口技术实验指导书实验报告.docx(12页珍藏版)》请在冰豆网上搜索。
微机接口技术实验指导书实验报告
《微机接口技术》实验指导书
前言
本实验指导书适用于机电一体化专业,实验时间10学时,5次上机时间。
主要学习内容为80X86语言实验环境配置、汇编源语言格式、输出字符、循环结构、子程序调用,以及加减乘除等指令操作。
学习结束后,要求学生能够独立编写出综合加减乘除等指令,以及循环结构、子程序调用等程序控制程序。
目录
实验项目一熟悉微机实验环境………………………………4
实验项目二掌握中断方式显示数字或字符…………………6
实验项目三掌握汇编语言的寻址方式………………………8
实验项目四掌握循环指令的用法…………………………10
实验项目五掌握子程序的用法……………………………12
实验报告一熟悉微机实验环境
1、实验目的
1、熟悉微机实验环境安装
2、熟悉微机实验环境配置
3、通过练习加法,熟悉程序格式
4、单步运行程序,通过观察窗口观察指令对寄存器中数据的影响
2、实验步骤
1)软件安装(拷贝三个文件夹)
复制:
桌面|网上邻居\Techer\c盘\wave、comp86和in8088三个文件夹
拷贝:
将三个文件夹到自己计算机上C:
盘根目录下
在资源管理器下可以看到:
C:
\wave,C:
\comp86,C:
\in8088三个文件夹
2)通过资源管理器,进入汇编环境
C:
\wave\Bin\wave.exe,双击wave.exe
3)打开文件我的电脑\c:
\wave\bin\wave.exe环境配置(如下图)
选中菜单栏中“仿真器”——“仿真器设置”选项(如下图)
a、选中“语言”一栏,编译器路径中填写:
C:
\COMP86\(如下图)
b、选中“仿真器”一栏,
选择仿真器—————G6W(如下图)
选择仿真头—————8088/8086实验(如下图)
选择CPU—————8088/8086(如下图)
使用软件模拟器:
打√表示软件实验,硬件实验则无√
4)新建文件
a、选中菜单栏\文件\新建文件,建立空白文件
b、编辑文件,输入以下代码
datasegment;ds数据段
dataends
stacksegment;ss堆栈段
stackends
codesegment;cs代码段
assumecs:
code,ds:
data,ss:
stack
main:
movax,data
movds,ax
movah,4ch;程序结束,返回DOS
int21h
codeends
endmain
5)保存源程序
a、注意:
保存源程序的文件名不能太长(包括路径)不得超过8个,不用汉字;
b、注意:
保存源程序的文件名的后缀为.asm
6)编译和运行
选择菜单栏\项目\全部编译进行编译工作,出现全部正确为止,否则检查。
7)选择菜单栏\执行\单步或F8快捷键或图标
,观察窗口观察数据变化
a、选择菜单栏\窗口\CPU窗口
b、观察单步执行时CPU内部有名称的寄存器如AX、BX、CX、DX的变化
3、完成思考题,调试成功后,请老师进行实验验收、打分
4、本次实验出现问题、解决方法,以及对实验的意见
实验报告二显示数字或字符
1、实验目的
1)复习微机实验环境安装和环境配置
2)练习寻址方式、重点内存寻址方式
3)单步运行程序,通过观察窗口观察指令对寄存器中数据的影响
2、实验步骤
1)完成微机实验环境配置
2)新建文件
a、选中菜单栏\文件\新建文件,建立空白文件
b、编辑文件,输入以下代码
datasegment;ds数据段
xdb3
dataends
stacksegment;ss堆栈段
stackends
codesegment;cs代码段
assumecs:
code,ds:
data,ss:
stack
main:
movax,data
movds,ax
movdl,l
adddl,30h;0~9的数字与相应的ASCII码相差30H,P17页
movah,2
int21h
movah,4ch;程序结束,返回DOS
int21h
codeends
endmain
3)保存源程序
a、注意:
保存源程序的文件名不能太长(包括路径);
b、注意:
保存源程序的文件名的后缀为.asm
4)编译和运行
选择菜单栏\项目\全部编译进行编译工作
选择菜单栏\执行\单步或F8快捷键或图标
5)观察窗口观察数据变化
a、选择菜单栏\窗口\CPU窗口
b、观察单步执行时CPU内部有名称的寄存器如AX、BX、CX、DX的变化
3、完成思考题,调试成功后,请老师进行实验验收、打分
a、程序功能_________
b、如何显示一个字符_________
c、为什么在Wave下进行编辑、编译、连接、调试
d、为什么要在DOS下执行程序
4、本次实验出现问题、解决方法,以及对实验的意见
实验报告三寻址方式
1、实验目的
1、复习微机实验环境安装和环境配置
2、练习寻址方式、重点内存寻址方式
3、单步运行程序,通过观察窗口观察指令对寄存器中数据的影响
2、实验方向
程序是指令的集合。
指令就是计算机可以识别的命令
程序=数据结构+算法。
数据不能凭空产生和凭空存在,必须有其存在的硬件环境。
计算机硬件系统包括CPU、内存、系统总线、接口。
所以数据(操作数)只能存放在CPU、内存、接口中,产生几种寻址方式。
寻址方式是指寻找指令操作数所在地址的方式(为确定数据的来源和去处)。
四种寻址方式
a、立即数寻址:
操作数代码中例如:
movbx,1234H
b、寄存器寻址:
操作数在CPU中的某个寄存器例如:
movax,bx
c、外设寻址:
操作数在外设中(即接口电路中)例如:
INax,23H
d、内存寻址:
操作数在内存中。
例如:
movax,[bx]
根据偏移地址求法内存寻址划分为5种:
●直接寻址:
偏移地址在指令[]中可以看到。
●寄存器间接寻址:
偏移地址在CPU寄存器中。
●寄存器相对寻址:
偏移地址由CPU寄存器中数值和另外数值的叠加得到。
●基址变址寻址:
偏移地址由CPU中基址寄存器(BX、BP)中的数值和变址寄存器(SI、DI)中数值得到。
●相对基址变址寻址:
偏移地址由CPU中基址寄存器BX、BP)中的数值和变址寄存器(SI、DI)中数值得到。
举例说明
movax,[1234h];内存寻址方式中的直接寻址(偏移地址在指令[]中可以看到)
movax,[bx];内存寻址方式中的寄存器间接寻址(偏移地址在CPU寄存器中)
movax,[bx+12H];内存寻址方式中的寄存器相对寻址
movax,[bx+si];内存寻址方式中的基址变址寻址
movax,[bx+si+12H];内存寻址方式中的相对基址变址寻址
3、实验步骤
1)完成微机实验环境配置
2)新建文件
a、选中菜单栏\文件\新建文件,建立空白文件
b、编辑文件,输入以下代码
datasegment;数据段开始
block1dw1234h,5678h,9abch,0def0h
dataends;数据段结束endsegment
codesegment;代码段开始
assumecs:
code,ds:
data;建立代码段寄存器和代码段段名的关系
main:
;主程序的开始
movax,data
movds,ax;初始化数据段段寄存器
movbx,offsetblock1
movsi,2
movax,bx
movax,ds:
[bx]
movax,ds:
[bx+2]
movax,ds:
[bx+si]
movax,ds:
[bx+si+2]
movah,4ch;程序结束,返回DOS
int21h
codeends;代码段结束endofsegment
endmain;主程序结束
3)保存源程序
a、注意:
保存源程序的文件名不能太长(包括路径);
b、注意:
保存源程序的文件名的后缀为.asm
4)编译和运行
选择菜单栏\项目\全部编译进行编译工作
选择菜单栏\执行\单步或F8快捷键或图标
5)观察窗口观察数据变化
a、选择菜单栏\窗口\CPU窗口
b、观察单步执行时CPU内部有名称的寄存器如AX、BX、CX、DX的变化
4、完成思考题,调试成功后,请老师进行实验验收、打分
a、程序功能_________
b、练习其他寻址方式
c、写出每个寻址方式
5、本次实验出现问题、解决方法,以及对实验的意见
实验报告四循环指令
1、实验目的
1)完成微机实验环境配置
2)练习循环指令loop和cmp、jnz使用
3)单步运行程序,通过观察窗口观察指令对寄存器中数据的影响
2、实验步骤
1)完成微机实验环境配置
a、新建文件:
输入以下代码
DATASEGMENT
BUFdb23H,16h,08h,20h,64H,8AH,91H,35H,2BH,0ffH
CNEQU$-BUF
zdw1234h
DATAENDS
STACKSEGMENT
STADB10DUP(?
)
TOPEQU$-STA
STACKENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA,SS:
STACK
main:
MOVAX,DATA
MOVDS,AX
movax,0
movbx,offsetbuf
movcx,cn
LP:
addAl,[bx]
adcah,0
addbx,1
subcx,1
JNZLP
movz,ax
movah,4ch;主程序结束
int21h
CODEENDS
ENDmain
2)保存源程序
a、注意:
保存源程序的文件名不能太长(包括路径);
b、注意:
保存源程序的文件名的后缀为.asm
3)编译和运行
选择菜单栏\项目\全部编译进行编译工作
选择菜单栏\执行\单步或F8快捷键或图标
4)观察窗口观察数据变化
a、选择菜单栏\窗口\CPU窗口
b、观察单步执行时CPU内部、存储Memory窗口数据0400h单元
3、完成思考题,调试成功后,请老师进行实验验收、打分
a、此程序功能_________,写出指令作用。
b、如果求最小数,如何修改的指令。
c、如果求最大数,如何修改的指令。
4、本次实验出现问题、解决方法,以及对实验的意见
****重点***
指令movds:
[si],bl;将bl中的数据传递到内存物理地址中
;物理地址=段地址*16+偏移地址
;=ds*16+si
;=0040H*16+si
;=0400H+0000h=0400h
实验报告四子程序调用
1、实验目的
1、完成微机实验环境配置
2、练习子程序调用call和ret使用
3、单步运行程序,通过观察窗口观察指令对寄存器中数据的影响
2、实验步骤
1)完成微机实验环境配置
a、新建文件:
输入以下代码
datasegment;ds数据段
xdb09h
dataends
stacksegment;ss堆栈段
stackends
codesegment;cs代码段
assumecs:
code,ds:
data,ss:
stack
main:
movax,data
movds,ax
moval,x
calldisp
movah,4ch;程序结束,返回DOS
int21h
dispproc;输出1个十六进制数的子程序
cmpal,9
jaloop2
loop1:
movdl,al
adddl,30h;0~9的数字与相应的ASCII码相差30H,P17页
movah,2
int21h
jmploop3
loop2:
movdl,al
adddl,37h;A~F的数字与相应的ASCII码相差37H,P17页
movah,2
int21h
loop3:
ret
dispendp
codeends
endmain
2)保存源程序
c、注意:
保存源程序的文件名不能太长(包括路径);
d、注意:
保存源程序的文件名的后缀为.asm
3)编译和运行
选择菜单栏\项目\全部编译进行编译工作
选择菜单栏\执行\单步或F8快捷键或图标
4)观察窗口观察数据变化
c、选择菜单栏\窗口\CPU窗口
d、观察单步执行时CPU内部、存储Memory窗口数据0400h单元
3、完成思考题,调试成功后,请老师进行实验验收、打分
a、输出1个十六进制数的子程序中为什么用“cmpal,9”指令,不用会怎样。
b、编写程序,求10个数的和,并输出。
4、本次实验出现问题、解决方法,以及对实验的意见
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 接口 技术 实验 指导书 报告