微机原理与接口技术实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
.
... 目录
实验一数据传送 (2)
实验二算术运算 (13)
实验三代码转换 (25)
实验四程序的基本结构练习 (36)
实验五存储器(RAM 6264)扩展 .................................... 错误!未定义书签。实验六可编程并行接口(8255)扩展............................. 错误!未定义书签。实验七可编程计数/定时器(8253)扩展....................... 错误!未定义书签。实验八A/D、D/A转换 .......................................................... 错误!未定义书签。实验九可编程串行通信接口(8251)扩展.................... 错误!未定义书签。
实验一:数据传送
实验学时:2
实验类型:验证
实验要求:必修
一.实验目的
1.学习程序设计的基本方法和技能,掌握用汇编语言设计、编写、调试和运行程序的方法;
学习用全屏幕编辑软件QEDIT.EXE建立源程序(.ASM文件);
学习用汇编软件MASM.EXE对源文件汇编产生目标文件(.OBJ文件);
学习用连接程序LINK.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(简称Q)送入以下汇编语言源程序,并以M1.ASM文件存盘
⑴汇编语言程序的上机过程
①进入\SY86子目录
E:>CD\SY86
E:\SY86>
②进入QEDIT.EXE 编辑界面
E:\SY86> Q
③输入文件名*.ASM(如M1.ASM)后,输入源程序
源程序
DATA SEGMENT PARA PUBLIC’DATA’;数据段定义
DB 512 DUP(0)
DATA ENDS
STACK SEGMENT PARA STACK’STACK’;堆栈段定义
DB 512 DUP(?)
STACK ENDS
CODE SEGMENT PARA PUBLIC’CODE’;代码段定义
ASSUME CS: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
MOV SP,2000h
MOV AX,3000h
MOV BX,5000h
PUSH AX
PUSH BX
POP AX
POP BX
RET
MAIN ENDP ;结束主要部分程序
CODE ENDS ;结束代码段
END MAIN ;结束汇编
⑵用MASM程序产生.OBJ文件
操作如下:
E:\SY86> MASM M1.ASM M1.OBJ
Microsoft(R)Macro Assembler Version 5.00
Copyright(C)Microsoft Corp 1981-1985,1987. All rights reserved.
Object Filename [HEXASC.OBJ]:
Source listing [NUL.LST]:
Cross-reference [NUL.CRF]:
51576+385928 Bytes symbol space free
0 Warning Errors
0 Severe Errors
以上说明汇编过程已经完成。
⑶用LINK程序产生EXE文件
操作如下:
E:\SY86>LINK M1.OBJ
Microsoft(R)Overlay Linker Version 3.60
Copyright(C)Microsoft Corp 1983-1987. All rights reserved.
Run File [M1.EXE]:
List File [NUL.MAP]:
Libraries [.LIB]:
E:\SY86>
LINK程序输出3个文件:.EXE文件;.LIB库文件;.MAP列表文件。连接过程全部完成,可以执行程序;
⑷在TD状态下用单步运行F8对M1.EXE文件进行调试,观察、记录结果。
E:\SY86>TD
进入TD调试软件后用单步执行F8命令从首地址开始执行指令并观察相应变化。运行结果如下:
―F8
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 B80030 MOV AX,3000
―F8
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 BB0050 MOV BX,5000
―F8
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 50 PUSH AX
―F8
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