微机原理与接口技术实验报告.doc
《微机原理与接口技术实验报告.doc》由会员分享,可在线阅读,更多相关《微机原理与接口技术实验报告.doc(22页珍藏版)》请在三一办公上搜索。
1、目 录实验一 数据传送2实验二 算术运算8实验三 代码转换14实验四 程序的基本结构练习20实验五 存储器(RAM 6264)扩展25实验六 可编程并行接口(8255)扩展28实验七 可编程计数/定时器(8253)扩展34实验八 A/D、D/A转换45实验九 可编程串行通信接口(8251)扩展53 实验一:数据传送实验学时:2实验类型:验证实验要求:必修一实验目的1学习程序设计的基本方法和技能,掌握用汇编语言设计、编写、调试和运行程序的方法;学习用全屏幕编辑软件QEDIT.EXE建立源程序(.ASM文件);学习用汇编软件MASM.EXE对源文件汇编产生目标文件(.OBJ文件);学习用连接程序L
2、INK.EXE对目标文件产生可执行文件(.EXE文件);学习用调试软件TD.EXE调试可执行文件;2掌握各种寻址方法以及简单指令的执行过程。二实验器材PC机三实验组织运行要求1利用堆栈实现AX的内容与BX的内容进行交换。堆栈指针SP=2000H,AX=3000H,BX=5000H;2汇编、调试、观察、记录结果;用QEDIT.EXE软件输入汇编语言源程序,以.ASM格式文件存盘;用MASM对源程序进行汇编产生二进制目标文件(.OBJ文件),再用连接程序LINK产生可执行文件(.EXE文件);用调试软件TD调试、运行程序,观察、记录结果。四实验步骤1进入子目录E:SY86后,利用QEDIT.EXE
3、(简称Q)送入以下汇编语言源程序,并以 M1.ASM文件存盘汇编语言程序的上机过程进入SY86子目录E:CDSY868 E:SY86进入QEDIT.EXE 编辑界面E:SY86 Q8 输入文件名*.ASM(如M1.ASM)后,输入源程序源程序DATASEGMENTPARAPUBLICDATA ;数据段定义DB512DUP(0) DATAENDS STACK SEGMENT PARASTACKSTACK ;堆栈段定义DB512DUP(?)STACKENDS CODESEGMENTPARAPUBLICCODE ;代码段定义ASSUMECS:CODE,DS:DATA,ES:DATA,SS:STACK
4、MAINPROC FAR ;定义过程程序PUSH DSMOV AX,0PUSH AXMOV AX,DATAMOV DS,AXMOV ES,AX MOVSP,2000hMOVAX,3000hMOVBX,5000hPUSHAXPUSHBXPOPAXPOPBXRETMAIN ENDP ;结束主要部分程序CODE ENDS ;结束代码段END MAIN ;结束汇编用MASM程序产生.OBJ文件操作如下:E:SY86 MASM M1.ASM M1.OBJ8Microsoft(R)Macro Assembler Version 5.00Copyright(C)Microsoft Corp 1981-198
5、5,1987. All rights reserved.Object FilenameHEXASC.OBJ:8Source listingNUL.LST:8Cross-reference NUL.CRF:851576+385928 Bytes symbol space free0 Warning Errors0 Severe Errors以上说明汇编过程已经完成。用LINK程序产生EXE文件操作如下:E:SY86LINK M1.OBJ8Microsoft(R)Overlay Linker Version 3.60Copyright(C)Microsoft Corp 1983-1987. All
6、 rights reserved. Run File M1.EXE:8List File NUL.MAP:8Libraries .LIB:8E:SY86LINK程序输出3个文件:.EXE文件;.LIB库文件;.MAP列表文件。连接过程全部完成,可以执行程序;在TD状态下用单步运行F8对M1.EXE文件进行调试,观察、记录结果。E:SY86TD8进入TD调试软件后用单步执行F8命令从首地址开始执行指令并观察相应变化。运行结果如下:F88 AX=0000 BX=0000 CX=000D DX=0000 SP=2000 BP=0000 SI=0000 DI=0000 DS=17F7 ES=17F7
7、SS=17F7 CS=17F7 IP=0103 NV UP DI PL NZ NA PO NC 17F7:0103 B80030MOVAX,3000F88 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,5000F88 AX=3000 BX=5000 CX=000D DX=0000 SP=2000 BP=0000 SI=0000 DI=0000
8、DS=17F7 ES=17F7 SS=17F7 CS=17F7 IP=0109 NV UP DI PL NZ NA PO NC 17F7:0109 50PUSHAXF88AX=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 53PUSHBXF88 AX=3000 BX=5000 CX=000D DX=0000 SP=1FFC BP=0000 SI=0000 DI=0000 D
9、S=17F7 ES=17F7 SS=17F7 CS=17F7 IP=010B NV UP DI PL NZ NA PO NC 17F7:010B 58POPAXF88 AX=5000 BX=5000 CX=000D DX=0000 SP=1FFE BP=0000 SI=0000 DI=0000 DS=17F7 ES=17F7 SS=17F7 CS=17F7 IP=010C NV UP DI PL NZ NA PO NC 17F7:010C 5BPOPBXF88 AX=5000 BX=3000 CX=000D DX=0000 SP=2000 BP=0000 SI=0000 DI=0000 DS=
10、17F7 ES=17F7 SS=17F7 CS=17F7 IP=010D NV UP DI PL NZ NA PO NC17F7:010D F4HLT2用以上同样的方法,完成下列程序的调试:编辑、汇编、连接、运行程序,观察、记录结果。输入以下汇编程序(分号 “;” 后面内容不需输入)用单步运行执行程序,按分号后的要求记录结果。源程序DATASEGMENT PARA PUBLIC DATADATAENDSSTACKSEGMENT PARA STACK STACKDB512 DUP (?)STACK ENDSCODESEGMENT PARA PUBLIC CODEASSUMECS:CODE,DS:
11、DATA,ES:DATA,SS:STACKSTARTPROC FARPUSHDSMOVAX,0PUSHAXMOVAX,DATAMOV DS,AXMOV ES,AX MOVAX,2000H;AH=20HMOVDS,AX ;AL=00HDS=2000HMOVSS,AX;SS=2000HAX=2000HMOVBX,2030H;BH=20HBL=30HMOVSI,BX;SI=2030HMOVDI,3040H;DI=3040HMOVSI,DI;SI=3040HMOVSP,50FFH;SP=50FFHMOVDX,SP;DH=50HDL=0FFHMOVCL,25;CL=25(19H)MOVBL,CL;CL=
12、19HBL=19HMOVAH,0F0H;AH=0F0HMOVCH,AH;CH=0F0HMOVBYTE PTRDI,64;(DI)=40HMOVWORD PTRSI,256;(SI)=00H (SI+1)=01HMOVDL,SI+1;DL=01HMOVDH,1+SI;DH=01HMOVAL,1SI;AL=01HMOVWORD PTRBXSI,34;(BX+SI)=22H(BX+SI+1)=00HMOVBX+SI+4,BL;(BX+SI+4)=19HMOVBP,2BX+DI;BP=0100HMOVBP,AL;(BP)=01HMOVAX,BPDI;AX=8B00HMOVBL,AL;BL=00HMOV
13、ES,BX;ES=2000HPUSHBX;SP=50FDH(SP,SP+1)=2000HPUSHDI;SP=50FBH(SP,SP+1)=3040HPOPCX;SP=50FDHCX=3040HPOPDX;SP=50FFHDX=2000HXCHGAX,BP;AX=0101HBP=8B00HXCHGDH,BL;DH=00HBL=20HLAHF;FLAG=NV UP DI PL NZ NA PO NC;FLAG=00000000;AH=02HSAHF;FLAG=NV UP DI PL NZ NA PO NC;FLAG=00000000;AH=02HPUSHF;SP=50FDH(SP,SP+1)=31
14、02HPOPF;SP=50FDH;FLAG= NV UP DI PL NZ NA PO NC;FLAG=00000000NOPSTARTENDPCODEENDSENDSTART以文件名“E2”存盘;单步运行程序,每运行一条指令即检查相应结果并予以记录;利用断点运行、跟踪运行和全速运行等功能调试程序、运行程序并检查结果。运行结果:各寄存器及内存变化如上。五思考题常用的数据传送指令有几种类型?试归纳并举例说明。答:常用的数据传送指令有四种类型:1.通用数据传送指令MOV OPRD1,OPRD2例:MOV AX,2000H;AX=2000H压栈指令 PUSH OPRD出栈指令 POP OPRD例:P
15、USH AX;SP=SP-2,(SP,SP+1)=AX POP AX;AX=(SP,SP+1),SP=SP+2交换指令 XCHG PORD1,OPRD2例:MOV AX,02FFH MOV BP,0001HXCHG AX,BP;AX=0001H,BP=02FFH2.累加器专用传送指令输入、输出指令 IN、OUT例:IN AX,DX;AX=( DX+1, DX) OUT DX,AX;( DX+1, DX) =AX换码指令 XLAT例:XLAT;AL=(BX+AL)3.地址传送指令有效地址送寄存器 LEA REG,SRC例:LEA SI,DAT1;SI=ADDR(DAT1)指针送DS和寄存器 LD
16、S REG,SRC例:LDS DI,BX;DI=(DS16+BX),DS=(DS16+BX+2)指针送ES和寄存器 LES REG,SRC例:LES DI,BX;DI=(DS16+BX),ES=(DS16+BX+2)4.标志寄存器传送指令标志传送指令 例:LAHF;AHPSW的低字节 SAHF;PSW的低字节AH标志进、出栈 例:PUSHF;SPSP-2,(SP+1,SP)PSW POPF;PSW(SP+1,SP),SPSP+2实验二:算术运算实验学时:2实验类型:设计实验要求:必修一实验目的1验证算术运算基本指令;2正确使用加、减、乘、除程序,为设计综合算术运算程序打好基础;3学习独立编程;
17、4深入学习、掌握TD调试软件的使用方法。二实验器材PC机三实验内容及步骤1加、减法运算要求调试以下程序源程序DATASEGMENT PARA PUBLIC DATADATAENDSSTACKSEGMENT PARA STACK STACKDB512 DUP (?)STACK ENDSCODESEGMENT PARA PUBLIC CODEASSUMECS:CODE,DS:DATA,ES:DATA,SS:STACKSTARTPROC FARPUSHDSMOVAX,0PUSHAXMOVAX,DATAMOV DS,AXMOV ES,AX MOV AX,2040H;AH=20H,AL=40H,CF=0
18、ADDAL,AH;AH=20H,AL=60H,CF=0MOVCX,257;CX=0101H,CF=0MOV SI,AX;SI=2060H,SUBSI,CX;SI=1F5FH,CX=010H,CF=0SUBCH,CL;CH=00H,CL=01H,CF=0ADCAX,CX;AX=2061H,CX=0001H, CF=0MOVWORD PTR SI,513;(SI,SI+1)=0201HADC SI,AL ;(SI,SI+1)=0262H,CF=0SBBAX,SI;AX=1DFFH,CF=0INCBYTE PTR SI+1 ;(SI,SI+1)=0362HDECBYTE PTR SI;(SI,SI+
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 原理 接口 技术 实验 报告

链接地址:https://www.31ppt.com/p-2881999.html