微机原理与接口技术
实验报告
学院:信息工程学院
班级:
学号:
姓名:
实验一:系统认识实验
1 实验目的:
掌握TD-PITE 80X86 微机原理及接口技术教学实验系统的操作,熟悉Wmd86联机集成开发调试软件的操作环境。
2 实验设备:
PC机一台,TD-PITE 实验装置一套。
3 实验内容:
编写实验程序,将00H~0FH 共16 个数写入内存3000H 开始的连续16 个存储单元中。
4 实验步骤:
1. 运行Wmd86 软件,进入Wmd86 集成开发环境。
2. 环境调试,“设置”选项中选择汇编语言。
语言环境选择界面
3. 新建文档,编写程序,程序如下:
SSTACK SEGMENT STACK
DW 32 DUP(?)
SSTACK ENDS
CODE SEGMENT
ASSUME CS:CODE,SS:SSTACK
START: PUSH DS
XOR AX, AX
MOV DS, AX
MOV SI, 3000H
MOV CX, 16
AA1: MOV [SI], AL
INC SI
INC AL
LOOP AA1
AA2: JMP AA2
CODE ENDS
END START
4. 编译连接,程序无误下载:
信息界面
5. 连接PC与实验系统的通讯电缆,打开实验系统电源。
6. 下载程序,查看内存3000H 开始的连续16 个存储单元中的内容,显示如下:
8.由于该内存段原始数据与实验数据相同,便于区分观察,将该内存段初始化,然后查看:
9.点击运行程序,在此查看该段内存:
10.设置断点,执行程序:
5 操作练习
编写程序,将内存3500H 单元开始的8 个数据复制到3600H 单元开始的数据区中。通过调试验证程序功能,使用E命令修改3500H单元开始的数据,运行程序后使用D命令查看3600H 单元开始的数据。
1、编写程序如下:
SSTACK SEGMENT STACK
DW 32 DUP(?)
SSTACK ENDS
CODE SEGMENT
ASSUME CS:CODE,SS:SSTACK
START: PUSH DS
XOR AX, AX
MOV DS, AX
MOV SI, 3500H
MOV DI, 3600H
MOV CX, 8
AA1: MOV AL, [SI]
MOV [DI], AL
INC SI
INC DI
LOOP AA1
AA2: JMP AA2
CODE ENDS
END START
2、执行过程如上,内存变化如下:
程序执行前
程序执行后
实验二:数制转换实验
1、实验目的
1. 掌握不同进制数及编码相互转换的程序设计方法,加深对数制转换的理解;
2. 熟悉程序调试的方法。
2、实验设备
PC机一台,TD-PITE 实验装置一套。
3、实验内容
将ASCII码表示的十进制数转换为二进制数,将十进制数的ASCII码转换为BCD 码4、步骤
第一部分:将十进制数的ASCII码转换为BCD 码
1、画流程图如下:
2、根据流程图写出代码:
SSTACK SEGMENT STACK
DW 64 DUP(?)
SSTACK ENDS
CODE SEGMENT
ASSUME CS:CODE
START: MOV AX,0000H
MOV DS,AX
MOV CX, 0005H ;转换位数
MOV DI, 3500H ;ASCII码首地址
A1: MOV BL, 0FFH ;将错误标志存入BL
MOV AL, [DI]
CMP AL, 3AH
JNB A2 ;不低于3AH则转A2
SUB AL, 30H
JB A2 ;低于30H则转A2
MOV BL, AL
A2: MOV AL, BL ;结果或错误标志送入AL
MOV [DI+0AH],AL ;结果存入目标地址
INC DI
LOOP A1
A3: JMP A3
END START
3、编译链接,下载运行程序:
第二部分:将十六位二进制数转换为ASCII码表示的十进制数
十六位二进制数的值域为0~65535,最大可转换为五位十进制数。
五位十进制数可表示为:
N = D4 ⨯104+ D3⨯103+ D2⨯102+ D1⨯10 + D0
D i:表示十进制数0~9
将十六位二进制数转换为五位ASCII 码表示的十进制数,就是求D1~D4,并将它们转换为ASCII 码。自行绘制程序流程图,编写程序可参考例程。例程中源数存放于3500H、3501H 中,转换结果存放于3510H~3514H 单元中。
实验步骤
(1)编写程序,经编译、链接无误后,装入系统;
SSTACK SEGMENT STACK
DW 64 DUP(?)
SSTACK ENDS
CODE SEGMENT
ASSUME CS:CODE
START: MOV SI,3500H ;源数据地址
MOV DX,[SI]
MOV SI,3515H ;目标数据地址
A1: DEC SI
MOV AX,DX
MOV DX,0000H
MOV CX,000AH ;除数10
DIV CX ;得商送AX, 得余数送DX