微机原理与接口技术实验报告重邮.docx
- 文档编号:4205704
- 上传时间:2022-11-28
- 格式:DOCX
- 页数:16
- 大小:106.06KB
微机原理与接口技术实验报告重邮.docx
《微机原理与接口技术实验报告重邮.docx》由会员分享,可在线阅读,更多相关《微机原理与接口技术实验报告重邮.docx(16页珍藏版)》请在冰豆网上搜索。
微机原理与接口技术实验报告重邮
认识TDDEBUG集成环境实验日志
实验题目:
认识TDDEBUG集成环境
实验目的及要求:
1.熟悉汇编程序的开发过程。
2.认识Tddebug集成操作软件。
3.掌握在Tddebug集成环境中编辑、编译、连接汇编语言程序方法。
4.掌握INT21H软件中断来调用DOS内部子程序的方
实验主要步骤:
1.运行Tddebug软件,选择Edit菜单编写实验程序
2.使用Compile菜单中的Compile和Link对实验程序进行汇编、连接,生成执行文件。
3.使用Rmrun菜单中的Run运行程序,观察运行结果。
4.使用Rmrun菜单中的Debug调试程序,查看程序段、数据段、附加段装入内存后的分配情况。
单步执行数据传送指令后,观察各寄存器及数据区的内容。
过程如下:
1)按F7单步执行,在代码区中有一个三角,表示正在执行的指令。
每一条指令的执行一定会使目标寄存器和状态寄存器发生变化,从相关窗口看结果。
2)检查内存数据区的内容,关键是找出用户程序的数据段和附加段:
●方法1:
在CPU窗口按Tab键使内存数据显示区成为活动区,按Ctrl+G键,输入:
“DS或ES寄存器的值:
偏移地址”,即可显示用户指定的数据区
●方法2:
选择菜单View|Dump,弹出内存数据显示窗口。
3)查看执行结果:
按Alt+F5,切换到用户窗口。
5.更改数据区中的数据,考察、调试程序的正确性。
6.参考程序:
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
MOVDI,OFFSETMSD
MOVCX,LEN
MOVBX,0
NEXT:
MOVAL,MSR[BX];开始传输数据
MOVES:
MSD[BX],AL
INCBX
LOOPNEXT
PUSHES
POPDS;将附加段寄存器指向的段值赋给数据段寄存器
MOVDX,OFFSETMSD
MOVAH,9
INT21H;显示字符串
MOVAX,4C00H
INT21H;返回DOS状态
CODEENDS
ENDSTART
实验结果及分析:
结果屏幕显示所输入的字符串,在更改为字符串传送指令后,结果相同。
这次试验主要为了熟悉TDDEBUG集成环境的操作方法与编程方法,在按照步骤操作后,得到相应结果,并利用单步调试观察数据传送以及地址,寄存器的使用情况。
代码转换实验日志
实验题目:
代码转换程序设计
实验目的及要求:
1.了解微机中所使用的各类数制及编码方法。
2.掌握不同进制数及编码相互转换的程序设计方法,加深对数码转换的理解。
3.掌握将存储在内存单元中的数据以十六进制数形式、十进制数形式和二进制数形式显示在屏幕上的方法。
实验主要步骤:
1.画出实验流程图。
如下两图
2.运行Tddebug软件,选择Edit菜单编写实验程序
3.使用Compile菜单中的Compile和Link对实验程序进行汇编、连接,生成执行文件。
4.使用Rmrun菜单中的Run运行程序,观察运行结果。
5.使用Rmrun菜单中的Debug调试程序。
单步执行指令,观察各寄存器及数据区的内容。
6.更改数据区中的数据,考察程序的正确性。
参考程序:
DDATASEGMENT
MESDB'Theasciicodeofdecimalcodeare:
$'
BUFDB30H,30H,30H,31H,32H;十进制数00012的ASCII码
DB10HDUP(0)
DDATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DDATA
START:
MOVAX,DDATA
MOVDS,AX
MOVSI,OFFSETBUF
MOVBX,000AH;送被乘数
MOVCX,0004H;送转换的位数
MOVAH,00H
MOVAL,[SI];取第一位的ASCII码
SUBAL,30H
A1:
IMULBX;乘10
ADDAL,[SI+01]
SUBAL,30H
INCSI
LOOPA1
MOV[SI],AX
MOVDX,OFFSETMES;显示提示信息
MOVAH,09H
INT21H
INCSI;显示高字节
CALLSHOW
DECSI;显示低字节
CALLSHOW
MOVAX,4C00H;返回DOS
INT21H
SHOWPROCNEAR;显示内存中一个字节字符的程序
MOVAL,DS:
[SI]
ANDAL,0F0H;取高4位
SHRAL,4
CMPAL,0AH;是否是A以上的数
JBC2
ADDAL,07H
C2:
ADDAL,30H
MOVDL,AL;显示字符
MOVAH,02H
INT21H
MOVAL,DS:
[SI]
ANDAL,0FH;取低4位
CMPAL,0AH
JBC3
ADDAL,07H
C3:
ADDAL,30H
MOVDL,AL;显示字符
MOVAH,02H
INT21H
RET
ENDP
CODEENDS
ENDSTART
实验结果及分析:
运行程序后,屏幕显示00012,即为开始设定的五个数字的ASCII码显示,输入时用的是十六进制表示的数字,经过程序转换后成功转换为我们所习惯的ASCII码。
更改数据区的数据后,输出为相应的ASCII码字,程序正确。
PCI总线中断应用实验日志
实验题目:
PCI总线中断应用
实验目的及要求:
1.掌握使用PCI中断的方法。
2.了解操作PCI设备I/O端口的方法。
3.进一步掌握8259中断控制器的工作原理、编程方法以及PC机如何通过8259A实现对外部可屏蔽硬件中断源的管理。
4.进一步掌握中断服务程序的设计方法。
实验主要步骤:
1.分析程序,画出实验流程图。
2.用排线将KKUNIT中的KK1脉冲开关与仿真ISA总线中的IRQ信号连接。
打开实验箱电源。
3.运行程序,按动KK1,观察运行结果。
4.注意保留该程序,以便后续程序使用。
12-1
参考程序:
;先执行PCI_BIOS.EXE,获得PCI板卡申请的第一个I/O空间的首地址及
;中断号,修改下面CPU访问PCI操作寄存器的端口地址。
;由中断号确定相应中断向量及OCW1、OCW2命令字。
INTCSR_BYTE0EQU9438H;修改PCI操作寄存器的端口地址
INTCSR_BYTE1EQU9439H
INTCSR_BYTE2EQU943AH
INTCSR_BYTE3EQU943BH
IMB4_BYTE3EQU941FH
DATASEGMENT
CSBAKDW?
IPBAKDW?
MKBAKDB?
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
START:
CLI
MOVAX,DATA
MOVDS,AX
;初始化PCI寄存器
MOVDX,INTCSR_BYTE0
MOVAL,00H
OUTDX,AL
MOVDX,INTCSR_BYTE1
MOVAL,1FH
OUTDX,AL
MOVDX,INTCSR_BYTE2
MOVAL,3FH
OUTDX,AL
MOVDX,INTCSR_BYTE3
MOVAL,00H
OUTDX,AL
;保存和替换中断入口地址
MOVAX,0000H
MOVES,AX
MOVDI,01CCH;INT73H,01CCH=73H*4,根据中断号修改
MOVAX,ES:
[DI]
MOVIPBAK,AX;IP
MOVAX,OFFSETMYINT
CLD
STOSW
MOVAX,ES:
[DI];CS
MOVCSBAK,AX
MOVAX,SEGMYINT
STOSW
;保存中断屏蔽字寄存器内容
INAL,0A1H
MOVMKBAK,AL
ANDAL,0F7H;打开中断屏蔽位,根据中断号修改
OUT0A1H,AL
STI
;等待
A1:
NOP
CALLBREAK
JMPA1
;========中断服务程序===========
MYINT:
PUSHDS
PUSHAX
PUSHDX
;清PCI板中断标志
MOVDX,IMB4_BYTE3
INAL,DX
MOVDX,INTCSR_BYTE2
MOVAL,3FH
OUTDX,AL
;清8259中断标志
MOVAL,63H;根据中断号修改
OUT0A0H,AL
MOVAL,62H
OUT20H,AL
;显示字符‘7’
MOVAH,0EH
MOVAL,37H
INT10H
POPDX
POPAX
POPDS
IRET
;检测是否有键按下程序
BREAKPROCNEAR
PUSHDS
MOVAH,06H
MOVDL,0FFH
INT21H
JERETURN
POPDS
CLI
;恢复中断屏蔽命令字
MOVAL,MKBAK
OUT0A1H,AL
;恢复中断入口地址
MOVAX,0000H
MOVES,AX
MOVDI,01CCH;INT73H,01CCH=73H*4,根据中断号修改
MOVAX,IPBAK
CLD
STOSW
MOVAX,CSBAK
STOSW
MOVDX,INTCSR_BYTE1
MOVAL,00H
OUTDX,AL
STI
MOVAX,4C00H
INT21H
RETURN:
POPDS
RET
BREAKENDP
CODEENDS
ENDSTART
实验结果及分析:
运行程序后,在试验箱的KK1按键上,每按下一次KK按键,电脑屏幕上即显示一个7,实验成功。
修改相应位置可显示不同的值。
8254定时/计数器应用实验报告
实验题目:
8254定时/计数器应用
实验要求:
1.掌握8254的工作方式及应用编程。
2.掌握8254的典型应用电路的接法。
3.学习8254在PC系统中的典型应用方法。
实验内容及步骤:
1、确定8254端口地址
执行PCI_BIOS.EXE,获取实验用PCI总线扩展卡分配的地址空间及中断请求线。
确定8254芯片所使用的端口地址:
本系统中I/O部分实验使用的是PCI总线扩展卡申请的第三个I/O空间(即BASE2,假设为0C000H)。
各I/O接口芯片的端口地址定义为:
BASE2的首地址+各端口的偏移地址
8254端口的偏移地址定义为:
计数器0:
40H计数器1:
41H计数器2:
42H控制端口:
43H
CPU访问8254端口地址为:
计数器0:
0C040H计数器1:
0C041H
计数器2:
0C042H控制端口:
0C043H
2、计数应用实验
编写程序,将8254的计数器0设置为方式3,计数值为十进制5,用微动开关KK1作为CLK0时钟,OUT0连接IRQ,每当KK1按动5次后产生中断请求,在中断服务程序中完成屏幕上显示字符“M”。
参考接线图如图13-5所示。
实验步骤如下:
(1)执行PCI_BIOS.EXE文件,确定实验装置中8254的各端口地址。
按实验内容编写程序(参考程序见后),编译、连接,生成执行文件。
(2)设计实验线路图,完成线路连接。
(3)打开实验箱电源,运行程序,按动KK1微动开关,观察是否按动5次后屏幕显示字符“M”。
(4)分析该程序结构,理解如何对8254初始化,如何实现中断服务。
(5)修改计数初值,从而实现不同要求的计数。
13-5
参考程序:
计数应用实验
;先执行PCI_BIOS.EXE,获得PCI板卡申请的第一个I/O空间的首地址及
;中断号,修改下面CPU访问PCI控制寄存器的端口地址。
;由中断号确定相应中断向量及OCW1、OCW2命令字。
MY8254_COUNT0EQU9C40H;修改端口地址
MY8254_COUNT1EQU9C41H
MY8254_COUNT2EQU9C42H
MY8254_MODEEQU9C43H
INTCSR_BYTE0EQU9438H
INTCSR_BYTE1EQU9439H
INTCSR_BYTE2EQU943AH
INTCSR_BYTE3EQU943BH
IMB4_BYTE3EQU941FH
DATASEGMENT
CSBAKDW?
IPBAKDW?
MKBAKDB?
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
START:
CLI
MOVAX,DATA
MOVDS,AX
MOVDX,INTCSR_BYTE0
MOVAL,00H
OUTDX,AL
MOVDX,INTCSR_BYTE1
MOVAL,1FH
OUTDX,AL
MOVDX,INTCSR_BYTE2
MOVAL,3FH
OUTDX,AL
MOVDX,INTCSR_BYTE3
MOVAL,00H
OUTDX,AL
MOVAX,0000H
MOVES,AX
MOVDI,01CCH;INT73H,01CCH=73H*4,,根据中断号修改
MOVAX,ES:
[DI]
MOVIPBAK,AX;IP
MOVAX,OFFSETMYINT
CLD
STOSW
MOVAX,ES:
[DI];CS
MOVCSBAK,AX
MOVAX,SEGMYINT
STOSW
INAL,0A1H
MOVMKBAK,AL
ANDAL,0F7H;打开中断屏蔽位,根据中断号修改
OUT0A1H,AL
STI
MOVDX,MY8254_MODE;CLK=KK1
MOVAL,17H
OUTDX,AL
MOVDX,MY8254_COUNT0
MOVAL,5
OUTDX,AL
A1:
NOP
CALLBREAK
JMPA1
MYINT:
PUSHDS
PUSHAX
PUSHDX
MOVDX,IMB4_BYTE3
INAL,DX
MOVDX,INTCSR_BYTE2
MOVAL,3FH
OUTDX,AL
;清8259中断标志
MOVAL,63H;根据中断号修改
OUT0A0H,AL
MOVAL,62H
OUT20H,AL
;显示字符“M”
MOVAX,0E4DH
INT10H
MOVAX,0E20H
INT10H
POPDX
POPAX
POPDS
IRET
BREAKPROCNEAR
PUSHDS
MOVAH,06H
MOVDL,0FFH
INT21H
JERETURN
POPDS
CLI
MOVAL,MKBAK
OUT0A1H,AL
MOVAX,0000H
MOVES,AX
MOVDI,01CCH;INT73H,01CCH=73H*4,,根据中断号修改
MOVAX,IPBAK
CLD
STOSW
MOVAX,CSBAK
STOSW
MOVDX,INTCSR_BYTE1
MOVAL,00H
OUTDX,AL
STI
MOVAX,4C00H
INT21H
RETURN:
POPDS
RET
BREAKENDP
CODEENDS
ENDSTART
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 原理 接口 技术 实验 报告