微机原理与接口技术实验报告(重邮)_第1页
微机原理与接口技术实验报告(重邮)_第2页
微机原理与接口技术实验报告(重邮)_第3页
微机原理与接口技术实验报告(重邮)_第4页
微机原理与接口技术实验报告(重邮)_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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) 检查内存数据区的内容,关键是找出用户程序的数据段和附加段:l 方法1:在CPU窗口按Tab键使内存数据显示区成为活动区,按Ctrl+G键,输入:“DS或ES寄存器的值:偏移地址”,即可显示用户指定的数据区l 方法2:选择菜单View| Dump,弹出内存数据显示窗口。3) 查看执行结果:按Alt+F5,切换到用户窗口。5. 更改数据区中的数据,考察、调试程序的正确性。6. 参考程序: DDATASE

3、GMENT ;定义源数据段MSRDB HELLO,WORLD!$LENEQU $- MSRDDATAENDSEXDA SEGMENT ;定义附加数据段MSDDB LEN DUP(?)EXDA ENDSMYSTACK SEGMENT STACK ;定义堆栈段DW 20 DUP(?)MYSTACK ENDSCODE SEGMENT ;定义代码段ASSUME CS:CODE,DS:DDATA,ES:EXDASTART:MOV AX,DDATAMOV DS,AX ;装载数据段寄存器MOV AX,EXDAMOV ES,AX ;装载附加数据段寄存器MOVSI,OFFSET MSRMOV DI,OFFSET

4、 MSDMOV CX,LENMOVBX,0NEXT: MOV AL,MSRBX ;开始传输数据MOV ES:MSDBX,ALINCBXLOOP NEXTPUSH ESPOP DS ;将附加段寄存器指向的段值赋给数据段寄存器MOV DX,OFFSET MSDMOV AH,9 INT 21H ;显示字符串MOV AX,4C00HINT 21H ;返回DOS状态CODE ENDS END START实验结果及分析:结果屏幕显示所输入的字符串,在更改为字符串传送指令后,结果相同。这次试验主要为了熟悉TDDEBUG集成环境的操作方法与编程方法,在按照步骤操作后,得到相应结果,并利用单步调试观察数据传送以

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

6、程序。单步执行指令,观察各寄存器及数据区的内容。6. 更改数据区中的数据,考察程序的正确性。图 6-4 将内存中一个字的数转换为十进制数的数字串参考流程图 6-5 将BCD码转换为二进制数参考流程参考程序:DDATASEGMENTMESDBThe ascii code of decimal code are:$BUFDB30H,30H,30H,31H,32H ;十进制数00012的ASCII码DB10H DUP(0)DDATAENDSCODE SEGMENTASSUME CS:CODE,DS:DDATASTART:MOVAX,DDATAMOVDS,AXMOV SI,OFFSET BUFMOV

7、BX,000AH ;送被乘数MOV CX,0004H ;送转换的位数MOV AH,00HMOV AL,SI ;取第一位的ASCII码SUB AL,30HA1:IMUL BX ;乘10ADD AL,SI+01SUB AL,30HINC SILOOP A1MOV SI,AXMOVDX,OFFSET MES ;显示提示信息MOVAH,09HINT21HINCSI ;显示高字节CALLSHOWDECSI ;显示低字节CALLSHOWMOVAX,4C00H ;返回DOSINT21HSHOWPROCNEAR ;显示内存中一个字节字符的程序MOVAL,DS:SIANDAL,0F0H ;取高4位SHRAL,4

8、CMPAL,0AH ;是否是A以上的数JBC2ADDAL,07HC2:ADDAL,30HMOVDL,AL ;显示字符 MOVAH,02HINT21HMOVAL,DS:SIANDAL,0FH ;取低4位CMPAL,0AHJBC3ADD AL,07HC3:ADDAL,30HMOVDL,AL ;显示字符MOVAH,02HINT21HRETENDPCODE ENDS END START实验结果及分析:运行程序后,屏幕显示00012,即为开始设定的五个数字的ASCII码显示,输入时用的是十六进制表示的数字,经过程序转换后成功转换为我们所习惯的ASCII码。 更改数据区的数据后,输出为相应的ASCII码字

9、,程序正确。 PCI总线中断应用 实验日志实验题目:PCI总线中断应用实验目的及要求:1. 掌握使用PCI中断的方法。2. 了解操作PCI设备I/O端口的方法。3. 进一步掌握8259中断控制器的工作原理、编程方法以及PC机如何通过8259A实现对外部可屏蔽硬件中断源的管理。4. 进一步掌握中断服务程序的设计方法。实验主要步骤:1. 分析程序,画出实验流程图。2. 用排线将KK UNIT中的KK1脉冲开关与仿真ISA总线中的IRQ信号连接。打开实验箱电源。3. 运行程序,按动KK1,观察运行结果。4. 注意保留该程序,以便后续程序使用。12-1参考程序:;先执行PCI_BIOS.EXE,获得P

10、CI板卡申请的第一个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 DW ?MKBAK DB ?DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART: CLI M

11、OV 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,AX MOV DI,01CCH ;INT 73H,01CCH=73H*4,根据中断号修改 MOV AX,ES:DI MOV IPBAK,AX

12、;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 DSPUSH AXPUSH DX ;清PCI板中断标志 MOV DX,IMB4_BYTE3 IN AL,DX MOV DX,INTCSR_BYTE2 MOV A

13、L,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 10HPOP DXPOP AX POP DS IRET ;检测是否有键按下程序BREAK PROC NEAR PUSH DS MOV AH,06H MOV DL,0FFH INT 21H JE RETURN POP DSCLI;恢复中断屏蔽命令字 MOV AL,MKBAK OUT 0A1H,AL ;恢复中断入口地址 MOV AX,0000H MOV ES,AX MOV

14、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按键,电脑屏幕上即显示一个7,实验成功。修改相应位置可显示不同的值。8254定时/计数器应用实验报告实验题目:8254定时/计数器应用实验要求:1. 掌

15、握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的首地址+ 各端口的偏移地址8254端口的偏移地址定义为: 计数器0:40H 计数器1:41H 计数器2:42H 控制端口:43HCPU访问8254端口地址为:计数器0

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

17、M”。(4) 分析该程序结构,理解如何对8254初始化,如何实现中断服务。(5) 修改计数初值,从而实现不同要求的计数。13 - 5参考程序:计数应用实验;先执行PCI_BIOS.EXE,获得PCI板卡申请的第一个I/O空间的首地址及;中断号,修改下面CPU访问PCI控制寄存器的端口地址。 ;由中断号确定相应中断向量及OCW1、OCW2命令字。MY8254_COUNT0 EQU 9C40H ;修改端口地址MY8254_COUNT1 EQU 9C41HMY8254_COUNT2 EQU 9C42HMY8254_MODE EQU 9C43HINTCSR_BYTE0 EQU 9438HINTCSR_

18、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,00H OUT DX,AL MOV DX,INTCSR_BYTE1 MOV AL,1FH OUT DX,AL MOV DX,INTCSR_BYTE2

19、 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,SEG MYINT STOSW IN AL,0A1H MOV MKBAK,AL AND AL,0F7H ;打开中断屏蔽位,根据中断号修改 OUT 0A1H,AL STI MOV DX,MY8254_MODE ;CLK=KK1 MOV AL

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论