- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
微机原理与接口技术实验教案
微机原理与接口技术
实
验
讲
义
物理与电子工程学院
罗长更
显示程序实验 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
文档评论(0)