ImageVerifierCode 换一换
格式:DOCX , 页数:16 ,大小:106.06KB ,
资源ID:4205704      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4205704.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(微机原理与接口技术实验报告重邮.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

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

1、微机原理与接口技术实验报告重邮 认识TDDEBUG集成环境 实验日志实验题目:认识TDDEBUG集成环境实验目的及要求:1. 熟悉汇编程序的开发过程。2. 认识Tddebug集成操作软件。3. 掌握在Tddebug集成环境中编辑、编译、连接汇编语言程序方法。4. 掌握INT 21H软件中断来调用DOS内部子程序的方实验主要步骤:1运行Tddebug软件,选择Edit菜单编写实验程序2使用Compile菜单中的Compile和Link对实验程序进行汇编、连接,生成执行文件。3使用Rmrun菜单中的Run运行程序,观察运行结果。4使用Rmrun菜单中的Debug调试程序,查看程序段、数据段、附加段

2、装入内存后的分配情况。单步执行数据传送指令后,观察各寄存器及数据区的内容。过程如下:1) 按F7单步执行,在代码区中有一个三角,表示正在执行的指令。每一条指令的执行一定会使目标寄存器和状态寄存器发生变化,从相关窗口看结果。2) 检查内存数据区的内容,关键是找出用户程序的数据段和附加段: 方法1:在CPU窗口按Tab键使内存数据显示区成为活动区,按Ctrl+G键,输入:“DS或ES寄存器的值:偏移地址”,即可显示用户指定的数据区 方法2:选择菜单View| Dump,弹出内存数据显示窗口。3) 查看执行结果:按Alt+F5,切换到用户窗口。5. 更改数据区中的数据,考察、调试程序的正确性。6.

3、参考程序: DDATA SEGMENT ;定义源数据段MSR DB HELLO,WORLD!$LEN EQU $- MSRDDATA ENDSEXDA SEGMENT ;定义附加数据段MSD DB LEN DUP(?)EXDA ENDSMYSTACK SEGMENT STACK ;定义堆栈段DW 20 DUP(?)MYSTACK ENDSCODE SEGMENT ;定义代码段ASSUME CS:CODE,DS:DDATA,ES:EXDASTART: MOV AX,DDATA MOV DS,AX ;装载数据段寄存器 MOV AX,EXDA MOV ES,AX ;装载附加数据段寄存器 MOV SI

4、,OFFSET MSR MOV DI,OFFSET MSD MOV CX,LEN MOV BX,0NEXT: MOV AL,MSRBX ;开始传输数据 MOV ES:MSDBX,AL INC BX LOOP NEXT PUSH ESPOP DS ;将附加段寄存器指向的段值赋给数据段寄存器 MOV DX,OFFSET MSD MOV AH,9 INT 21H ;显示字符串 MOV AX,4C00H INT 21H ;返回DOS状态CODE ENDS END START实验结果及分析:结果屏幕显示所输入的字符串,在更改为字符串传送指令后,结果相同。这次试验主要为了熟悉TDDEBUG集成环境的操作方

5、法与编程方法,在按照步骤操作后,得到相应结果,并利用单步调试观察数据传送以及地址,寄存器的使用情况。 代码转换 实验日志实验题目:代码转换程序设计实验目的及要求:1. 了解微机中所使用的各类数制及编码方法。2. 掌握不同进制数及编码相互转换的程序设计方法,加深对数码转换的理解。3. 掌握将存储在内存单元中的数据以十六进制数形式、十进制数形式和二进制数形式显示在屏幕上的方法。实验主要步骤:1. 画出实验流程图。如下两图2. 运行Tddebug软件,选择Edit菜单编写实验程序3. 使用Compile菜单中的Compile和Link对实验程序进行汇编、连接,生成执行文件。4. 使用Rmrun菜单中

6、的Run运行程序,观察运行结果。5. 使用Rmrun菜单中的Debug调试程序。单步执行指令,观察各寄存器及数据区的内容。6. 更改数据区中的数据,考察程序的正确性。参考程序:DDATA SEGMENTMES DB The ascii code of decimal code are:$BUF DB 30H,30H,30H,31H,32H ;十进制数00012的ASCII码 DB 10H DUP(0)DDATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DDATASTART: MOV AX,DDATA MOV DS,AX MOV SI,OFFSET BUF MOV

7、BX,000AH ;送被乘数 MOV CX,0004H ;送转换的位数 MOV AH,00H MOV AL,SI ;取第一位的ASCII码 SUB AL,30HA1: IMUL BX ;乘10 ADD AL,SI+01 SUB AL,30H INC SI LOOP A1 MOV SI,AX MOV DX,OFFSET MES ;显示提示信息 MOV AH,09H INT 21H INC SI ;显示高字节 CALL SHOW DEC SI ;显示低字节 CALL SHOW MOV AX,4C00H ;返回DOS INT 21H SHOW PROC NEAR ;显示内存中一个字节字符的程序 MO

8、V AL,DS:SI AND AL,0F0H ;取高4位 SHR AL,4 CMP AL,0AH ;是否是A以上的数 JB C2 ADD AL,07H C2: ADD AL,30H MOV DL,AL ;显示字符 MOV AH,02H INT 21H MOV AL,DS:SI AND AL,0FH ;取低4位 CMP AL,0AH JB C3 ADD AL,07HC3: ADD AL,30H MOV DL,AL ;显示字符 MOV AH,02H INT 21H RET ENDPCODE ENDS END START实验结果及分析:运行程序后,屏幕显示00012,即为开始设定的五个数字的ASCI

9、I码显示,输入时用的是十六进制表示的数字,经过程序转换后成功转换为我们所习惯的ASCII码。 更改数据区的数据后,输出为相应的ASCII码字,程序正确。 PCI总线中断应用 实验日志实验题目:PCI总线中断应用实验目的及要求:1. 掌握使用PCI中断的方法。2. 了解操作PCI设备I/O端口的方法。3. 进一步掌握8259中断控制器的工作原理、编程方法以及PC机如何通过8259A实现对外部可屏蔽硬件中断源的管理。4. 进一步掌握中断服务程序的设计方法。实验主要步骤:1. 分析程序,画出实验流程图。2. 用排线将KK UNIT中的KK1脉冲开关与仿真ISA总线中的IRQ信号连接。打开实验箱电源。

10、3. 运行程序,按动KK1,观察运行结果。4. 注意保留该程序,以便后续程序使用。12-1参考程序:;先执行PCI_BIOS.EXE,获得PCI板卡申请的第一个I/O空间的首地址及;中断号,修改下面CPU访问PCI操作寄存器的端口地址。 ;由中断号确定相应中断向量及OCW1、OCW2命令字。INTCSR_BYTE0 EQU 9438H ;修改PCI操作寄存器的端口地址INTCSR_BYTE1 EQU 9439HINTCSR_BYTE2 EQU 943AHINTCSR_BYTE3 EQU 943BHIMB4_BYTE3 EQU 941FHDATA SEGMENTCSBAK DW ? IPBAK

11、DW ?MKBAK DB ?DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART: CLI MOV AX,DATA MOV DS,AX ;初始化PCI寄存器 MOV DX,INTCSR_BYTE0 MOV AL,00H OUT DX,AL MOV DX,INTCSR_BYTE1 MOV AL,1FH OUT DX,AL MOV DX,INTCSR_BYTE2 MOV AL,3FH OUT DX,AL MOV DX,INTCSR_BYTE3 MOV AL,00H OUT DX,AL ;保存和替换中断入口地址 MOV AX,0000H MOV ES,A

12、X MOV DI,01CCH ;INT 73H,01CCH=73H*4,根据中断号修改 MOV AX,ES:DI MOV IPBAK,AX ;IP MOV AX,OFFSET MYINT CLD STOSW MOV AX,ES:DI ;CS MOV CSBAK,AX MOV AX,SEG MYINT STOSW ;保存中断屏蔽字寄存器内容 IN AL,0A1H MOV MKBAK,AL AND AL,0F7H ;打开中断屏蔽位,根据中断号修改 OUT 0A1H,AL STI ;等待A1: NOP CALL BREAK JMP A1 ;=中断服务程序=MYINT: PUSH DS PUSH AX

13、 PUSH DX ;清PCI板中断标志 MOV DX,IMB4_BYTE3 IN AL,DX MOV DX,INTCSR_BYTE2 MOV AL,3FH OUT DX,AL ;清8259中断标志 MOV AL,63H ;根据中断号修改 OUT 0A0H,AL MOV AL,62H OUT 20H,AL ;显示字符7 MOV AH,0EH MOV AL,37H INT 10H POP DX POP AX POP DS IRET ;检测是否有键按下程序BREAK PROC NEAR PUSH DS MOV AH,06H MOV DL,0FFH INT 21H JE RETURN POP DSCL

14、I;恢复中断屏蔽命令字 MOV AL,MKBAK OUT 0A1H,AL ;恢复中断入口地址 MOV AX,0000H MOV ES,AX MOV DI,01CCH ;INT 73H,01CCH=73H*4,根据中断号修改 MOV AX,IPBAK CLD STOSW MOV AX,CSBAK STOSW MOV DX,INTCSR_BYTE1 MOV AL,00H OUT DX,AL STI MOV AX,4C00H INT 21HRETURN:POP DS RETBREAK ENDPCODE ENDS END START实验结果及分析:运行程序后,在试验箱的KK1按键上,每按下一次KK按键

15、,电脑屏幕上即显示一个7,实验成功。修改相应位置可显示不同的值。8254定时/计数器应用实验报告实验题目:8254定时/计数器应用实验要求:1. 掌握8254的工作方式及应用编程。2. 掌握8254的典型应用电路的接法。3. 学习8254在PC系统中的典型应用方法。实验内容及步骤:1、确定8254端口地址执行PCI_BIOS.EXE,获取实验用PCI总线扩展卡分配的地址空间及中断请求线。确定8254芯片所使用的端口地址:本系统中I/O部分实验使用的是PCI总线扩展卡申请的第三个I/O空间(即BASE 2,假设为0C000H)。各I/O接口芯片的端口地址定义为: BASE 2的首地址+ 各端口的

16、偏移地址8254端口的偏移地址定义为: 计数器0:40H 计数器1:41H 计数器2:42H 控制端口:43HCPU访问8254端口地址为:计数器0:0C040H 计数器1:0C041H 计数器2:0C042H 控制端口:0C043H2、计数应用实验编写程序,将8254的计数器0设置为方式3,计数值为十进制5,用微动开关KK1作为CLK0时钟,OUT0连接IRQ,每当KK1按动5次后产生中断请求,在中断服务程序中完成屏幕上显示字符“M”。参考接线图如图13-5所示。实验步骤如下:(1) 执行PCI_BIOS.EXE文件,确定实验装置中8254的各端口地址。按实验内容编写程序(参考程序见后),编

17、译、连接,生成执行文件。(2) 设计实验线路图,完成线路连接。(3) 打开实验箱电源,运行程序,按动KK1微动开关,观察是否按动5次后屏幕显示字符“M”。(4) 分析该程序结构,理解如何对8254初始化,如何实现中断服务。(5) 修改计数初值,从而实现不同要求的计数。13 - 5参考程序:计数应用实验;先执行PCI_BIOS.EXE,获得PCI板卡申请的第一个I/O空间的首地址及;中断号,修改下面CPU访问PCI控制寄存器的端口地址。 ;由中断号确定相应中断向量及OCW1、OCW2命令字。MY8254_COUNT0 EQU 9C40H ;修改端口地址MY8254_COUNT1 EQU 9C41

18、HMY8254_COUNT2 EQU 9C42HMY8254_MODE EQU 9C43HINTCSR_BYTE0 EQU 9438HINTCSR_BYTE1 EQU 9439HINTCSR_BYTE2 EQU 943AHINTCSR_BYTE3 EQU 943BHIMB4_BYTE3 EQU 941FHDATA SEGMENTCSBAK DW ? IPBAK DW ?MKBAK DB ?DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART: CLI MOV AX,DATA MOV DS,AX MOV DX,INTCSR_BYTE0 MOV AL,

19、00H OUT DX,AL MOV DX,INTCSR_BYTE1 MOV AL,1FH OUT DX,AL MOV DX,INTCSR_BYTE2 MOV AL,3FH OUT DX,AL MOV DX,INTCSR_BYTE3 MOV AL,00H OUT DX,AL MOV AX,0000H MOV ES,AX MOV DI,01CCH ;INT 73H,01CCH=73H*4,根据中断号修改 MOV AX,ES:DI MOV IPBAK,AX ;IP MOV AX,OFFSET MYINT CLD STOSW MOV AX,ES:DI ;CS MOV CSBAK,AX MOV AX,S

20、EG MYINT STOSW IN AL,0A1H MOV MKBAK,AL AND AL,0F7H ;打开中断屏蔽位,根据中断号修改 OUT 0A1H,AL STI MOV DX,MY8254_MODE ;CLK=KK1 MOV AL,17H OUT DX,AL MOV DX,MY8254_COUNT0 MOV AL,5 OUT DX,AL A1: NOP CALL BREAK JMP A1MYINT: PUSH DS PUSH AX PUSH DX MOV DX,IMB4_BYTE3 IN AL,DX MOV DX,INTCSR_BYTE2 MOV AL,3FH OUT DX,AL ;清8

21、259中断标志 MOV AL,63H ;根据中断号修改 OUT 0A0H,AL MOV AL,62H OUT 20H,AL ;显示字符“M” MOV AX,0E4DH INT 10H MOV AX,0E20H INT 10H POP DX POP AX POP DS IRET BREAK PROC NEAR PUSH DS MOV AH,06H MOV DL,0FFH INT 21H JE RETURN POP DS CLI MOV AL,MKBAK OUT 0A1H,AL MOV AX,0000H MOV ES,AX MOV DI,01CCH ;INT 73H,01CCH=73H*4,根据中断号修改 MOV AX,IPBAK CLD STOSW MOV AX,CSBAK STOSW MOV DX,INTCSR_BYTE1 MOV AL,00H OUT DX,AL STI MOV AX,4C00H INT 21HRETURN:POP DS RETBREAK ENDPCODE ENDS END START

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

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