0301《微机原理与接口技术》实验指导书.docx
- 文档编号:6805568
- 上传时间:2023-01-10
- 格式:DOCX
- 页数:36
- 大小:693.77KB
0301《微机原理与接口技术》实验指导书.docx
《0301《微机原理与接口技术》实验指导书.docx》由会员分享,可在线阅读,更多相关《0301《微机原理与接口技术》实验指导书.docx(36页珍藏版)》请在冰豆网上搜索。
0301《微机原理与接口技术》实验指导书
《微机原理与接口技术》实验指导
(供生物医学工程专业、电子信息工程专业、计算机专业使用)
医药信息工程学院控制与仿真教研室
余华芳何永玲
2012年3月
《微机原理与接口技术》实验总说明
1.注意黄色阴影部分要抄写到报告上。
实验报告需要写心得体会,写实验中碰到的问题及如何解决的。
2.实验考核主要以当堂实验结果及实验过程中的表现打分,并当堂登记。
同学们做好实验后应要求老师现场检查并登记成绩。
因此大家需要提前准备和预习实验内容。
3.如果大家在宿舍就已经做好,可以到实验室给老师看结果。
教师检查合格后,登记成绩后学生可以立即下课走人,以资奖励。
4.注意每个实验后的提示和说明。
实验一汇编语言的工作环境与上机步骤(第3周作)-----------4
实验二汇编语言指令仿真(第5周作)-------------------15
实验三综合程序设计(第7周作)--------------------------------------------18
实验四8位存储器扩展实验(第9周作)---------------------26
实验五8255并口控制器应用实验(第13周作)----------------31
实验六键盘扫描及显示设计实验(第14周作)-----------------38
实验七8254定时/计数器定时应用实验(第15周作)----------46
实验八综合实验(第16、17周作)---------------------63
选作实验一8259中断控制器应用实验-----------66
选作实验二8237DMA控制器应用实验-------------75
实验一汇编语言仿真软件Emu8086的使用(第*周做)
一、实验目的
(1)熟悉掌握Emulator-demo402软件使用方法和调试方法。
(2)熟悉汇编语言的编辑、汇编、连接、运行的全过程。
(3)使学生对汇编语言感兴趣,并认识到汇编语言的强大性。
二、实验设备
Emulator-demo402仿真软件软件
三、实验内容、步骤及要求。
1.请在emu8086中运行以下程序,首先将该程序复制粘贴到软件中,并保存为*.asm的文件。
datasegment
cardb238;阳泉学院字符图形表,car是循环变量,存放循环次数
DB2ah,238,0,0
DB2ah,238,1,0;以下13行可用一句话代替:
DB2ah,238,1,0;DB13DUP(2ah,238,1,0)
DB2ah,238,1,0
DB2ah,238,1,0
DB2ah,238,1,0
DB2ah,238,1,0
DB2ah,238,1,0
DB2ah,238,1,0
DB2ah,238,1,0
DB2ah,238,1,0
DB2ah,238,1,0
DB2ah,238,1,0
db2ah,238,1,0
DB2ah,238,-13,1
DB2ah,238,0,1
DB2ah,238,0,1
DB2ah,238,0,1
DB2ah,238,1,0
DB2ah,238,1,0
DB2ah,238,1,0
DB2ah,238,1,0
DB2ah,238,1,0
DB2ah,238,1,0
DB2ah,238,1,0
db2ah,238,1,0
DB2ah,238,-4,-3
DB2ah,238,0,1
DB2ah,238,0,1
DB2ah,238,4,-2
DB2ah,238,0,1
DB2ah,238,0,1
DB2ah,238,0,3
DB2ah,238,-1,0
DB2ah,238,-1,0
DB2ah,238,-1,0
DB2ah,238,-1,0
DB2ah,238,-1,0
DB2ah,238,-1,0
DB2ah,238,-1,0
DB2ah,238,0,1
DB2ah,238,0,1
DB2ah,238,0,1
DB2ah,238,0,1
DB2ah,238,1,0
DB2ah,238,1,0
DB2ah,238,1,0
DB2ah,238,1,0
DB2ah,238,1,0
DB2ah,238,1,0
db2ah,238,1,0
db2ah,238,-4,-3
db2ah,238,0,1
db2ah,238,0,1
db2ah,238,4,-2
db2ah,238,0,1
db2ah,238,0,1
db2ah,238,-10,7
db2ah,238,0,1
db2ah,238,1,-3
db2ah,238,0,1
db2ah,238,1,-3
db2ah,238,0,1
db2ah,238,1,-1
db2ah,238,0,1
db2ah,238,0,1
db2ah,238,0,1
db2ah,238,0,1
db2ah,238,0,1
db2ah,238,0,1
db2ah,238,0,1
db2ah,238,0,1
db2ah,238,1,-8
db2ah,238,1,0
db2ah,238,1,0
db2ah,238,1,0
db2ah,238,0,1
db2ah,238,0,1
db2ah,238,0,1
db2ah,238,0,1
db2ah,238,0,1
db2ah,238,0,1
db2ah,238,0,1
db2ah,238,0,1
db2ah,238,-1,0
db2ah,238,-1,0
db2ah,238,-1,0
db2ah,238,1,-7
db2ah,238,0,1
db2ah,238,0,1
db2ah,238,0,1
db2ah,238,0,1
db2ah,238,3,-1
db2ah,238,1,-4
db2ah,238,0,1
db2ah,238,0,1
db2ah,238,0,1
db2ah,238,0,1
db2ah,238,0,1
db2ah,238,0,1
db2ah,238,0,1
db2ah,238,0,1
db2ah,238,1,-4
db2ah,238,1,0
db2ah,238,1,0
db2ah,238,1,0
db2ah,238,0,-2
db2ah,238,1,1
db2ah,238,-4,0
db2ah,238,1,-1
db2ah,238,1,-1
db2ah,238,1,-1
db2ah,238,1,-1
db2ah,238,-4,6
db2ah,238,1,1
db2ah,238,1,1
db2ah,238,1,1
db2ah,238,1,1
db2ah,238,-12,1
db2ah,238,-2,1
db2ah,238,1,0
db2ah,238,0,1
db2ah,238,-1,2
db2ah,238,0,1
db2ah,238,1,0
db2ah,238,0,1
db2ah,238,0,2
db2ah,238,0,1
db2ah,238,-1,0
db2ah,238,0,1
db2ah,238,3,-10
db2ah,238,-1,0
db2ah,238,0,1
db2ah,238,0,1
db2ah,238,0,1
db2ah,238,0,1
db2ah,238,0,1
db2ah,238,0,1
db2ah,238,0,1
db2ah,238,0,1
db2ah,238,0,1
db2ah,238,0,1
db2ah,238,1,0
db2ah,238,1,-8
db2ah,238,0,1
db2ah,238,0,1
db2ah,238,0,1
db2ah,238,0,1
db2ah,238,0,1
db2ah,238,1,-1
db2ah,238,1,-1
db2ah,238,1,-1
db2ah,238,1,-4
db2ah,238,0,1
db2ah,238,0,1
db2ah,238,0,1
db2ah,238,0,1
db2ah,238,0,1
db2ah,238,0,1
db2ah,238,0,1
db2ah,238,0,1
db2ah,238,0,1
db2ah,238,0,1
db2ah,238,1,-5
db2ah,238,1,1
db2ah,238,1,0
db2ah,238,1,0
db2ah,238,1,0
db2ah,238,1,-1
db2ah,238,-1,-1
db2ah,238,-13,8
db2ah,238,1,0
db2ah,238,1,0
db2ah,238,1,0
db2ah,238,1,0
db2ah,238,1,0
db2ah,238,1,0
db2ah,238,1,0
db2ah,238,1,0
db2ah,238,1,0
db2ah,238,1,0
db2ah,238,1,0
db2ah,238,1,0
db2ah,238,1,0
db2ah,238,1,0
db2ah,238,-14,1
db2ah,238,0,1
db2ah,238,1,0
db2ah,238,1,0
db2ah,238,1,0
db2ah,238,1,0
db2ah,238,1,0
db2ah,238,1,0
db2ah,238,1,0
db2ah,238,1,0
db2ah,238,-4,-1
db2ah,238,4,0
db2ah,238,-8,5
db2ah,238,0,1
db2ah,238,1,0
db2ah,238,0,1
db2ah,238,2,-4
db2ah,238,-1,0
db2ah,238,0,1
db2ah,238,0,1
db2ah,238,0,1
db2ah,238,0,1
db2ah,238,0,1
db2ah,238,0,1
db2ah,238,0,1
db2ah,238,1,0
db2ah,238,1,-2
db2ah,238,0,-1
db2ah,238,0,-1
db2ah,238,0,-1
db2ah,238,2,-1
db2ah,238,0,1
db2ah,238,0,1
db2ah,238,0,1
db2ah,238,0,1
db2ah,238,0,1
db2ah,238,1,-4
db2ah,238,1,0
db2ah,238,1,0
db2ah,238,1,0
db2ah,238,1,0
db2ah,238,1,-1
db2ah,238,1,-1
db2ah,238,1,-1
db2ah,238,-7,6
db2ah,238,1,0
db2ah,238,1,0
db2ah,238,1,0
db2ah,238,1,0
db2ah,238,1,1
db2ah,238,1,1
db2ah,238,1,1
char_cntdw?
pointerdw?
line_ondb?
col_ondb?
dataends
stacksegment
db2000dup(0)
stackends
codesegment
assumecs:
code,ds:
data
mainprocfar
pushds
subax,ax
pushax
movax,data;初始化DS
movds,ax
movah,0;设置300*200彩色图形方式
moval,3
int10h
movah,0bh;设置背景颜色
movbh,0
movbl,2
int10h
movah,0bh;设置彩色调板
movbh,01
movbl,00
int10h
callclear_screen;清屏
leadi,car;di指向字符图形表
movdh,5;从第5行第5列位置开始
movdl,5;显示汽车
callmove_shape
movah,01h;从键盘输入字符
int21h
cmpal,0dh
jeexit
exit:
movah,4ch
int21h
ret
mainendp
clear_screenprocnear;清屏子程序
pushax;保护寄存器
pushbx
pushcx
pushdx
movah,6;屏幕上卷功能
moval,6
movch,0;左上角行号
movcl,0;左上角列号
movdh,250;右下角行号
movdl,200;右下角列号
movbh,7;卷入行属性
int10h;调用显示功能
popdx;恢复寄存器
popcx
popbx
popax
ret;返回主程序
clear_screenendp
move_shapeprocnear
pushax
pushbx
pushcx
pushdx
pushdi
movah,0fh;取当前显示方式
int10h
subch,ch;清除寄存器CX的高字节
movcl,[di];CL放循环次数
incdi;di指向字符表的第一个字符
movchar_cnt,cx;保存循环次数
movpointer,di
movline_on,dh
movcol_on,dl
plot_next:
adddh,[di+2];改变行列指针
adddl,[di+3]
cmpdl,150;出屏否?
jbmov_crsr
callerase
popdi
popdx
popcx
popbx
popax
ret
mov_crsr:
movah,2;移动光标位置
int10h
moval,[di]
movbl,[di+1];取字符值及属性
pushcx
movcx,1
movah,09;显示字符
int10h
popcx
adddi,4;di指向下一个字符
loopplot_next
calldly_qrtr;调用延时子程序
callerase;调用擦除子程序
jmpshortplot_next
move_shapeendp
eraseprocnear;擦除子程序
movcx,char_cnt
movdi,pointer
movdh,line_on
movdl,col_on
erase_next:
adddh,[di+2]
adddl,[di+3]
movah,2
int10h
moval,[di]
movbl,0
pushcx
movcx,1
movah,9
int10h
popcx
adddi,4
looperase_next
movcx,char_cnt
movdi,pointer
movdh,line_on
inccol_on
movdl,col_on
ret
eraseendp
dly_qrtrprocnear;延时子程序
pushcx
pushdx
movdx,50000
d11:
movcx,8000
d12:
loopd12
decdx
jnzd11
popdx
popcx
ret
dly_qrtrendp
codeends
endmain
本程序运行后显示字符图形“阳泉学院”,按回车键即可返回操作系统。
2.要求同学们修改此程序字符显示代码部分,使其显示自己的名字。
其中字符显示代码的Y坐标值、X坐标值需要借助字模提取软件。
请同学们实验课时认真听老师讲课。
3.实验报告要求:
打印自己名字的显示效果;将自己名字字符代码抄在实验报告本上。
其他同总要求。
4.以下图片是emu8086运行界面说明,对大家实验操作过程中查看各种相关信息很有帮助。
图1-1Emulator窗口布局
PhysicalAddress:
物理地址,表示程序代码指令或数据存放的物理单元地址;HEX:
十六进制,表示的是指令的机器码;
DECIMAL:
十进制,是16进制的等价值,也是指令的机器码;
ASCII:
ASCII码字符,是16进制值所对应的ASCII码字符,对应的是操作指令时,没有很大意义,对应的是数据时就表示的是数据的ASCII码字符。
TheMemoryList:
表示PhysicalAddress、HEX、DECIMAL、ASCII这四列所在的窗口是一个内存单元详情列表。
DisassembledMachineCode:
表示右边那个窗口是源程序代码的反汇编代码窗
口,与左边的窗口是一一对应的。
图1-2Emulator
窗口界面功能模块
图1-3Emulator内存单元查看方法图
实验二汇编语言指令仿真(第*周做)
【实验目的】
1.学会用实验的方式验证理论,用理论来指导实验,进一步熟悉汇编语言开发环境。
2.深刻理解寻址方式的意义以及80X86指令的各种寻址方式。
3.深刻理解80X86各种指令的真正含义及功能。
4.掌握与数据有关的不同寻址方式。
5.继续熟悉实验操作软件的环境及使用方法。
【实验内容及要求】
一、在emu8086中仿真简单指令
1.仿真简单指令,请按要求写出程序代码及实验步骤。
(在仿真前请大家先用理论分析一下执行每一条指令后,目操作数、源操作数中的内容,然后上机验证你的推测。
提示里有一个示例)
2.将实验结果与理论结果进行比较,以便深入理解80X86指令的各种寻址方式。
3.实验过程中碰到的问题及如何解决的?
4.写出心得体会及还未理解的知识点。
【例题】
进入EMU8086之后,建立一个空白文档,将下面的程序段输入,按EMULATE按钮,进入EMULATE页面,按SINGLESTEP按钮,观察每个寄存器以及存储单元的值。
验证理论运算结果。
如,已知(DS)=2000H,(ES)=1000H,(SI)=0002H(BX)=100H,(20100H)=55H,(20101H)=42H,(20102H)=24H,(20103H)=25H,(20104H)=77H,(10100H)=22H
(10101H)=33H,(10102H)=11H,(10103H)=44H,(10104H)=88H,(10105H)=99H,请写出下列指令执行后目操作数中的内容。
MOVAX,[BX]
ADDAX,ES:
[BX]
MOVCX,[BX+SI]
ADDAX,CX
MOVCX,ES:
[BX+2*SI]
ADDAX,CX
以下为仿真语句示例:
MOVAX,2000H
MOVDS,AX;给数据段DS赋初值2000H
MOVAX,1000H
MOVES,AX;给扩展段ES赋初值1000H
MOVSI,0002H;给通用寄存器赋初值
MOVBX,100H
MOV[0100H],55H
MOV[0101H],42H
;给数据段偏移量为100H、101H的存储单元赋初值
MOV[0102H],24H
MOV[0103H],25H
;给数据段偏移量为102H、103H的存储单元赋初值
MOV[0104H],77H
;给数据段偏移量为104H的存储单元赋初值
MOVES:
[0100H],22H
MOVES:
[0101H],33H
;给附加段偏移量为100H、101H的存储单元赋初值
MOVES:
[0102H],11H
MOVES:
[0103H],44H
;给附加段偏移量为102H、103H的存储单元赋初值
MOVES:
[0104H],88H
MOVES:
[0105H],99H
;给附加段偏移量为104H、105H的存储单元赋初值
MOVAX,[BX];仿真指令……
……
……
请仿真以下简单指令,要求如下:
(提示:
1.注意一定要先理论分析,然后仿真,才能达到实验效果;2.前后小题之间没有关系,所以注意屏蔽已经执行的语句,以免影响后面仿真的结果)
设DS=1000H,SS=2000H,AX=1A2BH,BX=1200H,
CX=339AH,BP=1200H,SP=1350H,SI=1354H,(11350H)=0A5H,(11351H)=3CH,(11352H)=OFFH,(11353H)=26H,(11354H)=52H,(11355H)=0E7H,(126A4H)=9DH,(126A5H)=16H,
(21350H)=88H,(21351H)=51H。
下列各指令都在此环境下执行,在下列各小题的空格中填入相应个指令的执行结果。
(1)MOVAX,1352H
AX=______
(2)MOVAX,[1352H]
AX=______
(3)MOV0150H[BX],CH
(11350H)=_____,(11351H)=______
(4)MOVAX,0150H[BP]
AX=________
(5)POPAX
AX=______,SP=______
(6)ADD[SI],CX
(11354H)=____,(11355H)=____,
SF=____,ZF=____,PF=____,CF=____
OF=_____
(7)SUBBH,0150H[BX][SI]
BH=____,SF=____,ZF=____,PF=____,CF=____,OF=____
(8)INCBYTEPTR0152H[BX]
(11352H)=_____,(1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机原理与接口技术 0301 微机 原理 接口 技术 实验 指导书