微机原理与接口技术实验报告重邮.docx

上传人:b****6 文档编号:4205704 上传时间:2022-11-28 格式:DOCX 页数:16 大小:106.06KB
下载 相关 举报
微机原理与接口技术实验报告重邮.docx_第1页
第1页 / 共16页
微机原理与接口技术实验报告重邮.docx_第2页
第2页 / 共16页
微机原理与接口技术实验报告重邮.docx_第3页
第3页 / 共16页
微机原理与接口技术实验报告重邮.docx_第4页
第4页 / 共16页
微机原理与接口技术实验报告重邮.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

微机原理与接口技术实验报告重邮.docx

《微机原理与接口技术实验报告重邮.docx》由会员分享,可在线阅读,更多相关《微机原理与接口技术实验报告重邮.docx(16页珍藏版)》请在冰豆网上搜索。

微机原理与接口技术实验报告重邮.docx

微机原理与接口技术实验报告重邮

认识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

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 金融投资

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1