合肥工业大学电气与自动化专业实验中心 80X86微机原理及接口技术实验教程 思考题部分参考答案(1) 较为完善_第1页
合肥工业大学电气与自动化专业实验中心 80X86微机原理及接口技术实验教程 思考题部分参考答案(1) 较为完善_第2页
合肥工业大学电气与自动化专业实验中心 80X86微机原理及接口技术实验教程 思考题部分参考答案(1) 较为完善_第3页
合肥工业大学电气与自动化专业实验中心 80X86微机原理及接口技术实验教程 思考题部分参考答案(1) 较为完善_第4页
合肥工业大学电气与自动化专业实验中心 80X86微机原理及接口技术实验教程 思考题部分参考答案(1) 较为完善_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

1、实验一 数据传送1、子程序Move中为什么比较SI、DI?源数据块与目标范围有可能部分重叠,需要考虑从第一个字节开始复制(顺序复制),还是从最后一个字节开始复制(倒序复制)。源数据块与目标范围有可能部分重叠,需要考虑从第一个字节开始复制(顺序复制),还是从最后一个字节开始复制(倒序复制)。2、编写一个程序,将DS段中的数据传送到实验仪B4区的61C256中。说明:B4区的61C256在I/O设备区,使用、读写。实验二 数制转换实验1. 实验内容1中将一个五位十进制数转换为二进制数(十六位)时,这个十进制数最小可为多少,最大可为多少?为什么?最小为00000,最大为65535,因为16位二进制数

2、表示十进制数的范围是0655352. 将一个十六位二进制数转换为ASCII码十进制数时,如何确定Di的值? Di=16位二进制数/ ; n=5,4,3,2,1,03. 在十六进制转换为ASCII码时,存转换结果后,为什么要把DX向右移四次?因为每四位二进制数表示一位16进制数,内存单元中的数据是以二进制存储的4. 自编ASCII码转换十六进制、二进制转换BCD码的程序,并调试运行。实验三 运算类编程实验1. 求累加和程序设计,在偏移地址为1000H开始依顺序填入16个字(16个16位数),利用程序求和,存放在偏移地址2000H;2. 多字节加法程序设计,参考原程序,编写个两个64位数的减法程序

3、,结果保存到具体内存单元,调试并记录。实验四 分支程序设计实验1、将源数据首址改为3100H,目的数据地址改为310A,再加以验证(注意单步调试);2、将源数据首址改为310AH,目的数据地址改为3100,再加以验证(注意单步调试)。实验六 排序程序设计实验1、注意两个循环是如何循环的,如果想减少判断次数,比如说几次交换后就不再有数据交换了,如何修改程序来减少程序执行时间;2、编一程序把3000H-3009H中内容按从大到小排列;如果是有符号数怎么改写程序。硬件一 静态存储器扩展实验5. 改变实验程序,按非规则字写存储器,观察实验结果。SSTACKSEGMENT STACKDW 32 DUP(

4、?)SSTACKENDSCODESEGMENTSTARTPROC FARASSUME CS:CODE MOV AX, 8000H; 存储器扩展空间段地址MOV DS, AXAA0:MOV SI, 0000H; 数据首地址MOV CX, 0010HMOV AX, 0000HAA1:INC SI MOV SI, AXINC AX;INC SIINC SILOOP AA1MOV AX,4C00HINT 21H;程序终止STARTENDPCODEENDSEND START6. 改变实验程序,按字节方式写存储器,观察实验现象。SSTACKSEGMENT STACKDW 32 DUP(?)SSTACKEN

5、DSCODESEGMENTSTARTPROC FARASSUME CS:CODE MOV AX, 8000H; 存储器扩展空间段地址MOV DS, AXAA0:MOV SI, 0000H; 数据首地址MOV CX, 0010HMOV AX, 0000HAA1:MOV SI, AXINC AXINC SILOOP AA1MOV AX,4C00HINT 21H;程序终止STARTENDPCODEENDSEND START7. 将实验程序改为死循环程序,分别按规则字与非规则字的方式写存储器。SSTACKSEGMENT STACKDW 32 DUP(?)SSTACKENDSCODESEGMENTSTA

6、RTPROC FARASSUME CS:CODE MOV AX, 8000H; 存储器扩展空间段地址MOV DS, AXAA0:MOV SI, 0000H; 数据首地址MOV CX, 0010HMOV AX, 0000HAA1:MOV SI, AXINC AXINC SIINC SIJMP AA1MOV AX,4C00HINT 21H;程序终止STARTENDPCODEENDSEND START硬件二 8259中断控制实验1.在中断中完成BCD码转换为二进制数。 将四个二位十进制数的BCD码存放于3500H起始的内存单元中,将转换的二进制数存入3510H起始的内存单元中,每次中断完成一个二位十

7、进制数的BCD码转换。 实验步骤:将四个二位十进制数的BCD码存入3500H3507H中,即:先键入E3500,然后输入01 02 03 04 05 06 07 08.运行程序,按一次单次脉冲开关KK1,查看3510内容,应为0ch。再按一次单次脉冲开关KK1,查看3511内容,应为22。继续发中断,依次查看3512,3513内容。.MODELTINYIO8259_0EQU0260HIO8259_1EQU0261H.DATABUFFERDB8 DUP(?)ReDisplayFlagDB0.STACK100.CODESTART:MOVAX,DATAMOVDS,AX ;初始化数据段MOVES,AX

8、PUSH DSCALLWriIntverCLIPOP DS;初始化主片8259MOV DX,IO8259_0MOV AL, 13HOUT DX, AL;ICW1MOV DX,IO8259_1MOV AL, 08HOUT DX, AL;ICW2MOV AL, 09HOUT DX, AL;ICW4MOV AL, 0;OCW1OUT DX, ALMOV SI, 3500HMOV DI, 3510HSTIAA1:NOPJMP AA1WriIntverPROCNEARPUSHESMOVAX,0MOVES,AXMOVDI,20HLEAAX,MIR7STOSWMOVAX,CSSTOSWPOPESRETWri

9、IntverENDPMIR7:STI XOR AX,AX MOV AL, SIADD AL, ALMOV BL, ALADD AL, ALADD AL, ALADD AL, BLINC SIADD AL, SIMOV DI, ALINC SIINC DI MOV AL, 20HMOV DX,IO8259_0OUT DX, AL;中断结束命令IRETEND START2.在上述试验基础上,第五次中断结束中断,再按单次脉冲开关KK1将无法进入中断服务程序。.MODELTINYIO8259_0EQU0260HIO8259_1EQU0261H.DATABUFFERDB8 DUP(?)ReDisplay

10、FlagDB0counter DB 06H.STACK100.CODESTART:MOVAX,DATAMOVDS,AXMOVES,AXPUSH DSCALLWriIntverCLIPOP DS;初始化主片8259MOV DX,IO8259_0MOV AL, 13HOUT DX, AL;ICW1MOV DX,IO8259_1MOV AL, 08HOUT DX, AL;ICW2MOV AL, 09HOUT DX, AL;ICW4MOV AL, 0;OCW1OUT DX, ALMOV SI, 3500HMOV DI, 3510HSTIAA1:NOPJMP AA1WriIntverPROCNEARPU

11、SHESMOVAX,0MOVES,AXMOVDI,20HLEAAX,MIR7STOSWMOVAX,CSSTOSWPOPESRETWriIntverENDPMIR7:STIDEC counter ;自减,5次JNA AA3 ;(待测试)XOR AX,AX MOV AL, SIADD AL, ALMOV BL, ALADD AL, ALADD AL, ALADD AL, BLINC SIADD AL, SIMOV DI, ALINC SIINC DI MOV AL, 20HMOV DX,IO8259_0OUT DX, AL;中断结束命令IRETAA3: NOP JMP AA3END START3:

12、编写程序利用8254计数器0和计数器1分别作为8259IR6,IR7的中断请求信号;将8255PA0接到发光二极管D0,8255PA7接到发光二极管D1;使DO,D1闪动,D0每闪动10次D1闪动一次。4、 利用中断实现8255实验一(基本输入输出实验).MODELTINYIO8259_0EQU0260HIO8259_1EQU0261H.DATABUFFERDB8 DUP(?)SAVE_ALDB?ReDisplayFlagDB0.STACK100.CODESTART:MOVAX,DATAMOVDS,AXMOVES,AXPUSH DSCALLWriIntverCLIPOP DS;初始化主片825

13、5MOV DX, 0273HMOV AL, 90HOUT DX, AL;初始化主片8259MOV DX,IO8259_0MOV AL, 13HOUT DX, AL;ICW1MOV DX,IO8259_1MOV AL, 08HOUT DX, AL;ICW2MOV AL, 09HOUT DX, AL;ICW4MOV AL, 0;OCW1OUT DX, ALMOV CX,0STIAA1: MOV DX, 0271H ;给B口送亮灯信号 MOV AL,SAVE_ALOUT DX, ALJMP AA1WriIntverPROCNEARPUSHESMOVAX,0MOVES,AXMOVDI,20HLEAAX

14、,MIR7STOSWMOVAX,CSSTOSWPOPESRETWriIntverENDPMIR7:STI MOV DX, 0270H ;从A口读入控制灯的信号IN AL, DXMOV SAVE_AL,ALCALL DELAY MOV AL, 20H;zhongduanMOV DX,IO8259_0OUT DX, AL;中断结束命令IRETDELAY:PUSH CX;延时MOV CX, 0F000HAA2:PUSH AXPOP AXLOOP AA2POP CXRETEND START硬件三 8255并行接口实验1:执行程序后,使发光二极管闪动。SSTACKSEGMENT STACKDW 32 D

15、UP(?)SSTACKENDSCODESEGMENTASSUME CS:CODESTART:MOV DX, 0273HMOV AL, 80HOUT DX, ALMOV BX, 0000HAA1:MOV DX, 0270HMOV AL, BHOUT DX, ALNOT BHMOV DX, 0271HMOV AL, BLOUT DX, ALNOT BL CALL DELAYCALL DELAYJMP AA1DELAY:PUSH CXMOV CX, 0F000HAA2:PUSH AXPOP AXLOOP AA2POP CXRETCODEENDSEND START2:执行程序后,使发光二极管高八位和低

16、八位亮灭相反。(X86文档)SSTACKSEGMENT STACKDW 32 DUP(?)SSTACKENDSCODESEGMENTASSUME CS:CODESTART:MOV DX, 0273HMOV AL, 80HOUT DX, ALMOV BX, 00FFHAA1:MOV DX, 0270HMOV AL, BHOUT DX, ALNOT BHMOV DX, 0271HMOV AL, BLOUT DX, ALNOT BL CALL DELAYCALL DELAYJMP AA1DELAY:PUSH CXMOV CX, 0F000HAA2:PUSH AXPOP AXLOOP AA2POP C

17、XRETCODEENDSEND START1、例子程序中只展示了8155的输入输出和读写数据RAM的功能,8155还有定时器/计数器的功能,有兴趣读者可以自己编写程序,通过8155来实现定时,当作定时器用时,如何接线?2、若是要对PC口位操作,应该如何编写程序?3、如何使用8155实现键盘扫描和LED显示?(星研文档)1、如何对8255的PC口进行位操作?SSTACKSEGMENT STACKDW 32 DUP(?)SSTACKENDSCODESEGMENTASSUME CS:CODESTART: MOV DX, 0273HMOV AL, 80HOUT DX, ALAA1:MOV AL, 01

18、H OUT DX, AL MOV AL, 05H OUT DX, AL MOV AL, 07H OUT DX, ALCALL DELAYCALL DELAYJMP AA1DELAY: PUSH CXMOV CX, 0F000HAA2:PUSH AXPOP AXLOOP AA2POP CXRETCODEENDSEND START硬件四 8254定时/计数器应用实验1:将CLK0接到时钟源,使程序每隔一秒显示一次M。2: 编写程序使8254计数器0工作于方式0,OUT0接到发光二极管,使其闪动。(x86文档)1、8253还有其它五种工作方式,其它工作模式下,硬件如何设计?程序如何编写?2、使用82

温馨提示

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

最新文档

评论

0/150

提交评论