版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、一、实验要求编写程序实现下列5项功能,通过从键盘输入15进行菜单式选择:1) 按数字键“1”,完成将字符串中的小写字母变换成大写字母。用户输入由英文大小写字母或数字09组成的字符串(以回车结束),变换后按下列格式在屏幕上显示:例如:abcdgyt0092 ABCDGYT0092按任一键重做;按Esc键返回主菜单。2) 按数字键“2”,完成在字符串中找最大值。用户输入由英文大小写字母或数字09 组成的字符串(以回车结束),找出其中数字字符的最大值,按下列格式在屏幕上显示: The maximum number is 按任一键重做;按Esc键返回主菜单。3) 按数字键“3”,完成输入数据组的排序。
2、用户输入一组(小于50个)十进制数值(小于255),中间以逗号分隔,回车表示输入结束。按递增方式进行排序,并将结果按下列格式在屏幕上显示:按任一键重做;按Esc键返回主菜单。4) 按数字键“4”,完成系统时间的显示。首先提示用户对时,即改变系统的定时器HH:MM:SS(以冒号间隔,回车结束),然后在屏幕的右上角实时显示出时间:HH:MM:SS。按任一键重新对时;按Esc键返回主菜单。5) 按数字键“5”,结束程序的运行,返回系统。二、实验目的学习掌握DOS常用功能的调用方法,综合进行程序设计。增强和提高汇编语言程序设计的能力,掌握模块化程序的设计方法。三、实验过程(调试分析)name menu
3、showdata segment HEX1 DB Change the small letter to capital in hex, please press 1,0AH,0DH,$ HEX2 DB Find the max number in hex, please press 2,0AH,0DH,$ HEX3 DB Reorder the numbers,please press 3,0AH,0DH,$ HEX4 DB show up the systems time, please press 4,0AH,0DH,$ HEX5 DB End the program, please pr
4、ess 5,0AH,0DH,$ HEX6 DB The maximum number is ,$ HEX7 DB You didnt input any number!,$ HEX8 DB What you input is wrong!,$ NUM DB 50 DUP(0) NUMS DB 3 DUP(0) HEX DB 51 DUP(0)endsstack segment DB 256 DUP(0)endscode segmentstart: ASSUME DS:DATA, CS:CODE, SS:STACK MOV AX, DATA MOV DS, AX MOV AX, STACK MO
5、V SS, AX ;print main menuSHOW_MENU: LEA DX, HEX1 MOV AH, 09H INT 21H LEA DX, HEX2 INT 21H LEA DX, HEX3 INT 21H LEA DX, HEX4 INT 21H LEA DX, HEX5 INT 21H JMP SELCT_TARGETSHOW_MENU_TIP: MOV AH, 02H MOV DL, 0AH INT 21H MOV DL, 0DH INT 21H JMP SHOW_MENU ;select targetSELCT_TARGET: MOV AH, 01H INT 21H PU
6、SH AX MOV DL, 0AH MOV AH, 02H INT 21H MOV DL, 0DH INT 21H POP AX CMP AL, 49 JZ PRO_CHOOSE1 CMP AL, 50 JZ PRO_CHOOSE2 CMP AL, 51 JZ PRO_CHOOSE3 CMP AL, 52 JZ PRO_CHOOSE4 CMP AL, 53 JZ PRO_CHOOSE5 PRO_CHOOSE1: CALL program1 MOV AH, 01H INT 21H CMP AL, 27 JZ SHOW_MENU_TIP MOV DL, 0AH MOV AH, 02H INT 21
7、H MOV DL, 0DH INT 21H CMP AL, 27 JNZ PRO_CHOOSE1PRO_CHOOSE2: CALL program2 MOV AH, 01H INT 21H CMP AL, 27 JZ SHOW_MENU_TIP MOV DL, 0AH MOV AH, 02H INT 21H MOV DL, 0DH INT 21H CMP AL, 27 JNZ PRO_CHOOSE2PRO_CHOOSE3: CALL program3 MOV AH, 01H INT 21H CMP AL, 27 JZ SHOW_MENU_TIP MOV DL, 0AH MOV AH, 02H
8、INT 21H MOV DL, 0DH INT 21H CMP AL, 27 JNZ PRO_CHOOSE3PRO_CHOOSE4: CALL program4 MOV AH, 0BH INT 21H MOV DL, AL MOV AH, 06H INT 21H;这一段就是改进过的对时部分 CMP AL, 27 JZ SHOW_MENU_TIP CMP DL, 0FFH JZ TIP6 MOV DL, 0DH MOV AH, 02H INT 21H JMP PRO_CHOOSE4TIP6: MOV AH, 02H MOV DL, 0AH INT 21H MOV DL, 0DH INT 21H
9、JMP PRO_CHOOSE4 PRO_CHOOSE5: HLT ;-program1- program1 proc near PUSH SI PUSH CX PUSH AX PUSH DX MOV CX, 50 LEA SI, HEX READ1: MOV AH, 01H INT 21H CMP AL, 0DH JZ PRO1-1 MOV SI, AL INC SI LOOP READ1PRO1-1: MOV SI+1, $ LEA SI, HEXTIP1: CMP SI, $ JZ PRO1_STOP CMP SI, 97 JB PRO1-2 CMP SI, 122 JA PRO1-2 M
10、OV AX, SI SUB AX, 32 MOV SI, AX PRO1-2: INC SI JMP TIP1PRO1_STOP: MOV DL, 0AH MOV AH, 02H INT 21H MOV DL, 0DH INT 21H LEA DX, HEX MOV AH, 09H INT 21H POP DX POP AX POP CX POP SI RET program1 endp ;-program2- program2 proc near PUSH SI PUSH CX PUSH AX PUSH DX PUSH BX MOV CX, 50 LEA SI, HEX READ2: MOV
11、 AH, 01H INT 21H CMP AL, 0DH JZ PRO2-1 MOV SI, AL INC SI LOOP READ2PRO2-1: MOV SI, $ LEA SI, HEXTIP2: CMP SI, $ JZ PRO2-4 CMP SI, 48 JB PRO2-2 CMP SI, 57 JA PRO2-2 MOV BH, SI JMP PRO2-3 TIP3: CMP SI, $ JZ PRO2-5 CMP SI, 48 JB PRO2-3 CMP SI, 57 JA PRO2-3 CMP BH, SI JNB PRO2-3 MOV BH, SI JMP PRO2-3 PR
12、O2-2: INC SI JMP TIP2PRO2-3: INC SI JMP TIP3PRO2-4: MOV DL, 0AH MOV AH, 02H INT 21H MOV DL, 0DH INT 21H LEA DX, HEX7 MOV AH, 09H INT 21H JMP PRO2_STOPPRO2-5: ;PUSH BX MOV DL, 0AH MOV AH, 02H INT 21H MOV DL, 0DH INT 21H LEA DX, HEX6 MOV AH, 09H INT 21H ;POP BX MOV DL, BH MOV AH, 02H INT 21H JMP PRO2_
13、STOPPRO2_STOP: POP BX POP DX POP AX POP CX POP SI RET program2 endp;-transfered by program3- translate proc near CMP CX, 4 JZ PRO3_NULL CMP CX, 3 JZ PRO3-1 CMP CX, 2 JZ PRO3-2 CMP CX, 1 JZ PRO3-3 CMP CX, 0 JZ PRO3_WRONGPRO3_NULL: LEA DX, HEX7 MOV AH, 09H INT 21H JMP PRO3_STOPPRO3_WRONG: LEA DX, HEX8
14、 MOV AH, 09H INT 21H JMP PRO3_STOP PRO3-1: LEA SI, NUMS MOV AX, SI SUB AX, 48 MOV DI, AX INC DI JMP translate_stopPRO3-2: PUSH BX LEA SI, NUMS MOV AL, SI SUB AL, 48 MOV AH, 10 MUL AH MOV BX, AX MOV AX, SI+1 SUB AX, 48 ADD BX, AX MOV DI, BX INC DI POP BX JMP translate_stop PRO3-3: PUSH BX LEA SI, NUM
15、S MOV AL, SI SUB AL, 48 MOV AH, 100 MUL AH MOV BX, AX MOV AL, SI+1 SUB AL, 48 MOV AH, 10 MUL AH ADD BX, AX MOV AX, SI+2 SUB AX, 48 ADD BX, AX MOV DI, BX INC DI POP BXtranslate_stop: RET translate endp;-program3- program3 proc near PUSH SI PUSH DI PUSH CX PUSH AX PUSH DX PUSH BX LEA DI, NUM MOV BX, 0
16、READ3: INC BX LEA SI, NUMS MOV CX, 4TIP4: MOV AH, 01H INT 21H CMP AL, , JZ TRANSLATE1 CMP AL, 0DH JZ TRANSLATE2 MOV SI, AL INC SI LOOP TIP4 TRANSLATE1: CALL translate JMP READ3TRANSLATE2: CALL translate REORDER: MOV DI, $ DEC BX ;NUM中元素的数目减一 MOV CX, BX ;冒泡排序 JUDGE1: LEA DI, NUM PUSH CX PUSH BX MOV C
17、X, BX JUDGE2: MOV AL, DI MOV BL, DI+1 CMP AL, BL JC NEXT1 MOV DI+1, AL MOV DI, BL NEXT1: INC DI LOOP JUDGE2 POP BX POP CX LOOP JUDGE1TRANSLATE2_PRINT: LEA DI, NUM MOV DL, 0AH MOV AH, 02H INT 21H MOV DL, 0DH INT 21HTIP5: CMP DI, 9 JNA PRO3-4 CMP DI, 99 JNA PRO3-5 CMP DI, 255 JNA PRO3-6 PRO3-4: MOV AL
18、, DI ADD AL, 48 MOV DL, AL MOV AH, 02H INT 21H CMP DI+1, $ JZ PRO3_STOP MOV DL, , INT 21H INC DI JMP TIP5PRO3-5: MOV AX, DI MOV AH, 0 MOV BL, 10 DIV BL MOV DL, AL ADD DL, 48 ;保护余数 PUSH AX MOV AH, 02H INT 21H POP AX MOV DL, AH ADD DL, 48 MOV AH, 02H INT 21H CMP DI+1, $ JZ PRO3_STOP MOV DL, , INT 21H
19、INC DI JMP TIP5 PRO3-6: MOV AX, DI MOV AH, 0 MOV BL, 100 DIV BL MOV DL, AL ADD DL, 48 PUSH AX MOV AH, 02H INT 21H POP AX MOV AL, AH MOV AH, 0 MOV BL, 10 DIV BL MOV DL, AL ADD DL, 48 PUSH AX MOV AH, 02H INT 21H POP AX MOV DL, AH ADD DL, 48 MOV AH, 02H INT 21H CMP DI+1, $ JZ PRO3_STOP MOV DL, , INT 21
20、H INC DI JMP TIP5 PRO3_STOP: POP BX POP DX POP AX POP CX POP DI POP SI RET program3 endp ;-program4- program4 proc near PUSH AX PUSH DX PUSH BX MOV AH, 2CH INT 21H ;hours MOV AL, CH CALL program4help MOV DL, : MOV AH, 02H INT 21H ;mimutes MOV AL, CL CALL program4help MOV DL, : MOV AH, 02H INT 21H ;second MOV AL, DH CALL program4help POP BX POP DX POP AX RET program4 endp program4help proc near PUSH AX PUSH DX PUSH
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年即时零售融合项目营销方案
- 2026年精密光学检测系统项目营销方案
- 2026年LED 光疗面罩项目营销方案
- 2026年智能地毯干洗机项目公司成立分析报告
- 2026年工业废气处理催化剂项目公司成立分析报告
- 2026甘肃武威古浪县公益性岗位工作人员招聘8人备考题库及完整答案详解一套
- 2026福建福州市志愿者联合会专职工作人员(劳务派遣)招聘3人备考题库含答案详解(研优卷)
- 2026江西事业单位联考抚州市招聘828人备考题库带答案详解(夺分金卷)
- 2026辽宁沈阳市文体旅产业发展集团有限公司所属企业中层岗位招聘8人备考题库带答案详解(b卷)
- 2026年即时零售 婚庆服务项目公司成立分析报告
- 2026年安全生产开工第一课筑牢复工复产安全防线
- 山西大学附属中学2025-2026学年高三1月月考生物(含答案)
- 2024年货车驾驶员管理制度
- 2024年10月自考中国近现代史纲要试题真题及答案
- 机械通气患者早期活动
- 2025年上海市长宁区初三二模语文试卷(含答案)
- CQI-23Molding Process Assessment 模塑系统评估审核表-中英文(空)
- JT-T 1495-2024 公路水运危险性较大工程专项施工方案编制审查规程
- 23S519 小型排水构筑物(带书签)
- 涉诈风险账户审查表
- 内蒙古汇能煤电集团有限公司长滩露天煤矿矿山地质环境保护与土地复垦方案
评论
0/150
提交评论