微机原理与接口技术实验报告
目 录 实验一 数据传送2 实验二 算术运算8 实验三 代码转换14 实验四 程序的基本结构练习20 实验五 存储器(RAM 6264)扩展25 实验六 可编程并行接口(8255)扩展28 实验七 可编程计数/定时器(8253)扩展34 实验八 A/D、D/A转换45 实验九 可编程串行通信接口(8251)扩展53 22 实验一:数据传送 实验学时:2 实验类型:验证 实验要求:必修 一.实验目的 1.学习程序设计的基本方法和技能,掌握用汇编语言设计、编写、调试和运行程序的方法; 学习用全屏幕编辑软件QEDIT.建立源程序(.ASM文件); 学习用汇编软件MASM.对源文件汇编产生目标文件(.OBJ文件); 学习用连接程序LINK.对目标文件产生可执行文件(.文件); 学习用调试软件TD.调试可执行文件; 2.掌握各种寻址方法以及简单指令的执行过程。 二.实验器材 PC机 三.实验组织运行要求 1.利用堆栈实现AX的内容与BX的内容进行交换。堆栈指针SP=2000H,AX=3000H,BX=5000H; 2.汇编、调试、观察、记录结果; ⑴用QEDIT.软件输入汇编语言源程序,以.ASM格式文件存盘; ⑵用MASM对源程序进行汇编产生二进制目标文件(.OBJ文件),再用连接程序LINK产生可执行文件(.文件); ⑶用调试软件TD调试、运行程序,观察、记录结果。 四.实验步骤 1.进入子目录E:>\SY86后,利用QEDIT.(简称Q)送入以下汇编语言源程序,并以 M1.ASM文件存盘 ⑴汇编语言程序的上机过程 ①进入\SY86子目录 E:>CD\SY868 E:\SY86> ②进入QEDIT. 编辑界面 E:\SY86> Q8 ③输入文件名*.ASM(如M1.ASM)后,输入源程序 源程序 DATASEGMENTPARAPUBLIC’DATA’ ;数据段定义 DB512DUP(0) DATAENDS STACK SEGMENT PARASTACK’STACK’ ;堆栈段定义 DB512DUP( ?) STACKENDS CODESEGMENTPARAPUBLIC’CODE’ ;代码段定义 ASSUMECS :CODE,DS :DATA,ES:DATA,SS :STACK MAIN PROC FAR ;定义过程程序 PUSH DS MOV AX,0 PUSH AX MOV AX,DATA MOV DS,AX MOV ES,AX MOVSP,2000h MOVAX,3000h MOVBX,5000h PUSHAX PUSHBX POPAX POPBX RET MAIN ENDP ;结束主要部分程序 CODE ENDS ;结束代码段 END MAIN ;结束汇编 ⑵用MASM程序产生.OBJ文件 操作如下: E:\SY86> MASM M1.ASM M1.OBJ8 Microsoft(R)Macro Assembler Version 5.00 Copyright(C)Microsoft Corp 1981-1985,1987. All rights reserved. Object Filename[HEXASC.OBJ]:8 Source listing[NUL.LST]:8 Cross-reference [NUL.CRF]:8 51576+385928 Bytes symbol space free 0 Warning Errors 0 Severe Errors 以上说明汇编过程已经完成。 ⑶用LINK程序产生文件 操作如下: E:\SY86>LINK M1.OBJ8 Microsoft(R)Overlay Linker Version 3.60 Copyright(C)Microsoft Corp 1983-1987. All rights reserved. Run File [M1.]:8 List File [NUL.MAP]:8 Libraries [.LIB]:8 E:\SY86> LINK程序输出3个文件:.文件;.LIB库文件;.MAP列表文件。连接过程全部完成,可以执行程序; ⑷在TD状态下用单步运行F8对M1.文件进行调试,观察、记录结果。 E:\SY86>TD8 进入TD调试软件后用单步执行F8命令从首地址开始执行指令并观察相应变化。运行结果如下: ―F88 AX=0000 BX=0000 CX=000D DX=0000 SP=2000 BP=0000 SI=0000 DI=0000 DS=17F7 ES=17F7 SS=17F7 CS=17F7 IP=0103 NV UP DI PL NZ NA PO NC 17F7:0103 B80030MOVAX,3000 ―F88 AX=3000 BX=0000 CX=000D DX=0000 SP=2000 BP=0000 SI=0000 DI=0000 DS=17F7 ES=17F7 SS=17F7 CS=17F7 IP=0106 NV UP DI PL NZ NA PO NC 17F7:0106 BB0050MOVBX,5000 ―F88 AX=3000 BX=5000 CX=000D DX=0000 SP=2000 BP=0000 SI=0000 DI=0000 DS=17F7 ES=17F7 SS=17F7 CS=17F7 IP=0109 NV UP DI PL NZ NA PO NC 17F7:0109 50PUSHAX ―F88 AX=3000 BX=5000 CX=000D DX=0000 SP=1FFE BP=0000 SI=0000 DI=0000 DS=17F7 ES=17F7 SS=17F7 CS=17F7 IP=010A NV UP DI PL NZ NA PO NC 17F7:010A 53PUSHBX ―F88 AX=3000 BX=5000 CX=000D DX=0000 SP=1FFC BP=0000 SI=0000 DI=0000 DS=17F7 ES=17F7 SS=17F7 CS=17F7 IP=010B NV UP DI PL NZ NA PO N