实验报告一显示程序实验文档格式.docx
《实验报告一显示程序实验文档格式.docx》由会员分享,可在线阅读,更多相关《实验报告一显示程序实验文档格式.docx(11页珍藏版)》请在冰豆网上搜索。
![实验报告一显示程序实验文档格式.docx](https://file1.bdocx.com/fileroot1/2022-10/10/7b2d4a2a-a5c9-4c4c-88eb-bce3761c276f/7b2d4a2a-a5c9-4c4c-88eb-bce3761c276f1.gif)
3、实验原理
一般来说,有很多程序需要显示输出提示运行的状况和结果,有的还需要将数据区中的内容显示在屏幕上。
本实验要求将指定数据区的数据以十六进制数形式显示在屏幕上,并利用DOS功能调用完成一些提示信息的显示。
通过本实验,初步掌握实验系统配套操作软件的使用。
实验中所使用DOS功能调用(INT21H)说明如下。
(1)显示单个字符输出
入口:
AH=02H
调用参数:
DL=输出字符
(2)显示字符串
AH=09H
DS:
DX=串地址,’$’为结束字符
(3)键盘输入并回显
AH=01H
返回参数:
AL=输出字符
(4)返回DOS系统
AH=4CH
AL=返回码
程序流程图如图1-1所示。
实验参考程序如下。
实验程序清单(例程文件名:
A1.ASM)
STACK1SEGMENTSTACK
DW256DUP(?
)
STACK1ENDS
DATASEGMENTUSE16
MESDB'
Pressanykeytoexit!
'
0AH,0DH,0AH,0DH,'
$'
MES1DB'
Showaashex:
0AH,0DH,'
SDDB'
b'
DATAENDS
CODESEGMENTUSE16
ASSUMECS:
CODE,DS:
DATA
START:
MOVAX,DATA
MOVDS,AX
MOVDX,OFFSETMES;
显示退出提示
MOVAH,09H
INT21H
MOVDX,OFFSETMES1;
显示字符串
MOVAH,09H
MOVSI,OFFSETSD
MOVAL,DS:
[SI]
ANDAL,0F0H;
取高4位
SHRAL,4
CMPAL,0AH;
是否是A以上的数
JBC2
ADDAL,07H
C2:
ADDAL,30H
MOVDL,AL;
显示字符
MOVAH,02H
图1-1显示程序实验参考流程图
ANDAL,0FH;
取低4位
CMPAL,0AH
JBC3
ADDAL,07H
C3:
ADDAL,30H
MOVAH,02H
KEY:
MOVAH,1;
判断是否有按键按下?
INT16H;
(为观察运行结果,使程序有控制的退出)
JZKEY
MOVAX,4C00H;
结束程序退出
CODEENDS
ENDSTART
四、实验内容与步骤
(1)运行Tdpit集成操作软件,进入编辑调试集成环境。
(2)根据程序设计使用语言不同,在“语言设置”菜单项中设置所使用的语言。
如图1-2所示。
该项一经设置,会再下次启动后仍保持不变。
图1-2设置语言环境
(3)开始新建文件进行编程。
点击“文件”菜单项中的“新建”,可以新建一个空白文档。
默认名为Td-pit1。
如图1-3所示。
图1-3新建空白文档
(4)编写程序,如图1-4所示,并保存,此时软件会提示输入新的文件名,输入文件名后点击保存。
图1-4程序编辑界面
(5)点击
,编译文件,若程序编译无误,然后再点击
,连接程序。
编译连接成功会在输出信息栏显示输出信息,如图1-5所示。
图1-5编译连接输出信息
(6)编译连接成功后可以点击
,运行程序,查看运行结果。
(7)可以点击
,调试程序,进入调试界面,进行程序的调试。
五、实验结果及分析:
(1)直接运行程序,运行结果如图1-6所示。
图1-6运行程序结果窗口
(2)编译连接无误后,点击
,进入调试环境,进行程序的调试。
如图1-7所示。
图1-7进入调试环境
(3)在调试环境中,按F2键选择显示’b’的ASCII码高4位为断点,如图1-8所示。
并进行程序的调试,调试结果如图1-9所示。
图1-8调试环境
图1-9调试程序结果窗口
(4)程序需要显示运行的状况和结果,还需要一些提示信息的显示如“Pressanykeytoexit!
”。
利用DOS功能调用完成这些提示信息的显示,程序运行结果,如图1-10所示。
图1-10运行程序结果窗口
六、实验总结:
通过本实验,我初步掌握实验系统配套操作软件的使用,并利用DOS功能调用完成一些提示信息的显示。
掌握了如何在PC机上以十六进制形式显示数据的方法。
并通过实验加深了对理论编程的知识的理解,巩固了我的理论知识。
附录:
;
A1.asm
显示程序实验
STACK1SEGMENTSTACK
DW256DUP(?
STACK1ENDS
DATASEGMENTUSE16
MES1DB'
SDDB'
DATAENDS
CODESEGMENTUSE16
ASSUMECS:
MOVAX,DATA
MOVDS,AX
MOVDX,OFFSETMES1;
showmessage
MOVAH,09H
INT21H
MOVSI,OFFSETSD
MOVAL,DS:
ANDAL,0F0H
;
取高4位
SHRAL,4
CMPAL,0AH;
是否是A以上的数
JBC2
ADDAL,07H
ADDAL,30H
MOVDL,AL;
showcharacter
MOVAH,02H
INT21H
ANDAL,0FH;
取低4位
CMPAL,0AH
JBC3
ADDAL,07H
ADDAL,30H
WAIT1:
MOVAH,1;
判断是否有按键按下
INT16H
JZWAIT1;
无按键则跳回继续等待,有则退出
MOVAX,4C00H;
gobacktodos
CODEENDS
ENDSTART
WelcomeTo
Download!
!
欢迎您的下载,资料仅供参考!