微机原理与接口技术实验教案.doc
文本预览下载声明
微机原理与接口技术
实
验
讲
义
物理与电子工程学院
罗长更
显示程序实验 3
数据传送实验 5
运算类程序实验 6
分支程序设计实验 17
循环程序设计实验 20
综合程序设计实验 22
显示程序实验实验目的(1) 掌握在PC机上以十六进制形式显示数据的方法。(2) 掌握部分DOS功能调用使用方法。(3) 熟悉Tdpit集成环境和调试器的使用。实验内容及说明
??? 一般来说,有很多程序需要显示输出提示运行的状况和结果,有的还需要将数据区中的内容显示在屏幕上。本实验要求将指定数据区的数据以十六进制数形式显示在屏幕上,并通过DOS功能调用完成一些提示信息的显示。实验中可使用DOS功能调用(INT 21H)。
(1) 显示单个字符输出
入口:AH=02H
调用参数:DL=输出字符
(2) 显示字符串
入口:AH=09H
调用参数:DS:DX=串地址,’$’为结束字符
(3) 键盘输入并回显
入口:AH=01H
返回参数:AL=输出字符
(4) 返回DOS系统
入口:AH=4CH
调用参数:AL=返回码
实验步骤
(1) 运行Tdpit软件,选择文件菜单,点击新建,进入一个源文件编辑界面。根据实验内容的描述编写实验程序,本实验显示部分参考实验流程如图1所示。
(2) 使用编译菜单中的编译和链接对实验程序进行汇编、连接。
(3) 使用编译菜单中的运行,运行程序,观察运行结果。
(4) 使用编译菜单中的调试,调试程序,观察调试过程中,数据传输指令执行后,各寄存器及数据区的内容。
(5) 更改数据区中的数据,检查程序的正确性。 参考程序清单
DATA SEGMENT
MES DB Show a as hex:,0AH,0DH,$
SD DB a
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:MOV AX,DATA
MOV DS,AX
MOV DX,OFFSET MES ;显示提示信息
MOV AH,09H
INT 21H
? MOV DI,OFFSET SD
MOV AL,DS:[DI]
AND AL,0F0H ;取高4位
SHR AL,4
图1
?
CMP AL,0AH ;是否是A以上的数
JB C2
ADD AL,07H
C2: ADD AL,30H
MOV DL,AL ;显示字符
MOV AH,02H
INT 21H
MOV AL,DS:[DI]
AND AL,0FH ;取低4位
CMP AL,0AH
JB C3
ADD AL,07H
C3: ADD AL,30H
MOV DL,AL ;显示字符
MOV AH,02H
INT 21H
MOV AX,4C00H ;返回DOS
INT 21H
CODE ENDS
END START 数据传送实验
?
实验目的
(1) 熟悉Tdpit集成环境和调试器的使用。
(2) 掌握与数据有关的不同寻址方式。
? 实验内容
本实验要求将数据段中的一个字符串传送到附加段中,并输出附加段中的目标字符串到屏幕上。实验步骤
(1) 运行Tdpit软件,选择文件菜单,点击新建进行实验程序的编写。
(2) 使用编译菜单中的编译和连接对实验程序进行汇编、连接。
(3) 使用编译菜单中的运行,运行程序,观察运行结果。
(4) 使用编译菜单中的调试,调试程序,观察调试过程中,数据传输指令执行后,各寄存器及数据区的内容。
(5) 更改数据区中的数据,考察程序的正确性。
DDATA SEGMENT ;定义源数据段
MSR DB HELLO,WORLD!$
LEN EQU $- MSR
DDATA ENDS ?
EXDA SEGMENT ;定义附加数据段
MSD DB LEN DUP(?)
EXDA ENDS
? MYSTACK SEGMENT STACK ;定义堆栈段
DW 20 DUP(?)
MYSTACK ENDS
CODE SEGMENT ;定义代码段
ASSUME CS:CODE,DS:DDATA,ES:EXDA
START: MOV AX,DDATA
MOV DS,AX ;装载数据段寄存器
MOV AX,EXDA
MOV ES,AX ;装载附加数据段寄存器
MOV SI,OFFSET MSR ;设置SI
MOV DI,OFFSET MSD ;设置DI
MOV CX,LEN
NEXT:MOV AL,[SI] ;开始传输数据
MOV ES:[DI],AL
INC SI
显示全部