1、3、实 验 原 理 一般来说,有很多程序需要显示输出提示运行的状况和结果,有的还需要将数据区中的内容显示在屏幕上。本实验要求将指定数据区的数据以十六进制数形式显示在屏幕上,并利用 DOS 功能调用完成一些提示信息的显示。通过本实验,初步掌握实验系统配套操作软件的使用。实验中所使用 DOS 功能调用(INT 21H)说明如下。(1) 显示单个字符输出 入口:AH=02H 调用参数:DL=输出字符 (2) 显示字符串AH=09H DS:DX=串地址,$为结束字符 (3) 键盘输入并回显AH=01H 返回参数:AL=输出字符 (4) 返回 DOS 系统 AH=4CH AL=返回码 程序流程图如图 1
2、-1 所示。实验参考程序如下。实验程序清单(例程文件名:A1.ASM) STACK1 SEGMENT STACKDW 256 DUP(?)STACK1 ENDSDATA SEGMENT USE16MES DB Press any key to exit!,0AH,0DH,0AH,0DH,$MES1 DB Show a as hex:,0AH,0DH,SD DB bDATA ENDSCODE SEGMENT USE16ASSUME CS:CODE,DS:DATASTART: MOV AX,DATAMOV DS,AXMOV DX,OFFSET MES ;显示退出提示MOV AH,09H INT 2
3、1HMOV DX,OFFSET MES1 ;显示字符串MOV AH,09H MOV SI,OFFSET SDMOV AL,DS:SIAND AL,0F0H ;取高 4 位SHR AL,4CMP AL,0AH ;是否是 A 以上的数JB C2 ADD AL,07H C2: ADD AL,30H MOV DL,AL ;显示字符MOV AH,02H 图 1-1 显示程序实验参考流程图AND AL,0FH ;取低 4 位CMP AL,0AHJB C3ADD AL,07HC3: ADD AL,30HMOV AH,02HKEY: MOV AH,1 ;判断是否有按键按下?INT 16H ;(为观察运行结果,
4、使程序有控制的退出)JZ KEYMOV AX,4C00H ;结束程序退出CODE ENDSEND START四、实 验 内 容 与 步 骤 (1) 运行 Tdpit 集成操作软件,进入编辑调试集成环境。(2) 根据程序设计使用语言不同,在“语言设置”菜单项中设置所使用的语言。如图 1-2 所示。该项一经设置,会再下次启动后仍保持不变。图 1-2 设置语言环境 (3) 开始新建文件进行编程。点击“文件”菜单项中的“新建”,可以新建一个空白文档。默认名为 Td-pit1。如图 1-3 所示。图 1-3 新建空白文档 (4) 编写程序,如图 1-4 所示,并保存,此时软件会提示输入新的文件名,输入文
5、件名后点击保存。图 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
6、所示。并进行程序的调试,调试结果如图1-9 所示。图 1-8 调试环境图 1-9 调试程序结果窗口(4) 程序需要显示运行的状况和结果,还需要一些提示信息的显示如“Press any key to exit!”。利用 DOS 功能调用完成这些提示信息的显示,程序运行结果,如图 1-10所示。图 1-10 运行程序结果窗口六、实 验 总 结:通过本实验,我初步掌握实验系统配套操作软件的使用,并利用DOS 功能调用完成一些提示信息的显示。掌握了如何在 PC 机上以十六进制形式显示数据的方法。并通过实验加深了对理论编程的知识的理解,巩固了我的理论知识。附 录:;A1.asm显示程序实验STACK1
7、SEGMENT STACK DW 256 DUP(?STACK1 ENDSDATA SEGMENT USE16MES1 DB SD DB DATA ENDSCODE SEGMENT USE16 ASSUME CS: MOV AX,DATA MOV DS,AX MOV DX,OFFSET MES1 ;show message MOV AH,09H INT 21H MOV SI,OFFSET SD MOV AL,DS: AND AL,0F0H ;取高4位 SHR AL,4 CMP AL,0AH ;是否是A以上的数 JB C2 ADD AL,07H ADD AL,30H MOV DL,AL ;show character MOV AH,02H INT 21H AND AL,0FH ;取低4位 CMP AL,0AH JB C3 ADD AL,07H ADD AL,30HWAIT1: MOV AH,1 ;判断是否有按键按下 INT 16H JZ WAIT1 ;无按键则跳回继续等待,有则退出 MOV AX,4C00H ;go back to dosCODE ENDS END STARTWelcome ToDownload !欢迎您的下载,资料仅供参考!
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1