微机原理上机答案(西电).docx
《微机原理上机答案(西电).docx》由会员分享,可在线阅读,更多相关《微机原理上机答案(西电).docx(15页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精品文档,仅供学习与交流,如有侵权请联系网站删除微机原理上机答案(西电)上机作业(三)编写如下程序,并在机器上调试成功。程序采用菜单式选择,可以接收用户从键盘输入的五个命令(1-5),各命令功能分别为: (1)按下“1”键,完成字符串小写字母变成大写字母。用户输入一由英文大小写字母或数字0-9组成的字符串(以回车结束),程序逐个检查字符串中各字符,将原串中小写字母变成大写字母,其他字符不变,并在屏幕上显示。用户按任一键,重做,按ESC键,返回主菜单。(2)按下“2”键,完成找最大值(二选一)。 a.接收用户输入的可显示字符串(以回车结束),程序将其中ASCII码值最大的字符显示出来; b.接收
2、用户输入若干个无符号8位数(以空格或逗号为分隔符,以回车结束),程序将其中最大的数显示出来。用户按任一键,重做,按ESC键,返回主菜单。(3)按下“3”键,完成排序(二选一)。 a.接收用户输入的可显示字符串,以回车结束。程序按ASCII码值大小由大到小排序并输出显示; b.接收用户输入若干个有符号8位数(以空格或逗号为分隔符,以回车结束),程序将其中最大的数显示出来。用户按任一键,重做,按ESC键,返回主菜单。(4)按下“4”键,显示时间。 首先提示用户对时,即用户输入时、分、秒(以空格或逗号为分隔符,以回车结束),然后,在屏幕上不断显示时间,格式为: XX(时): XX(分): XX(秒)
3、最好定点显示。用户按任一键,重新对时,按ESC键,返回主菜单。 (5)按下“5”键,结束程序运行,返回系统提示符。程序代码:STACKSEGMENT STACKDB 256 DUP(?)TOPLABEL WORDSTACKENDSDATASEGMENTTABLEDW G1, G2, G3, G4, G5STRING1DB 1. Change small letters into capital letters of string;, 0DH, 0AH, $STRING2DB 2. Find the maximum of string;, 0DH, 0AH, $STRING3DB 3. Sort
4、 for datas;, 0DH, 0AH, $STRING4DB 4. Show Time;, 0DH, 0AH, $STRING5DB 5. Exit., 0DH, 0AH, $STRINGNDB Input the number you select (1-5) : $IN_STRDB Input the string (including letters & numbers, less than 60 letters) :, 0DH, 0AH, $PRESTRDB Original string : $NEWSTRDB New string : $OUT_STRDB The strin
5、g is $MAXCHRDB The maximum is $IN_NUMDB Input the numbers (0 - 255, no more than 20 numbers) : , 0DH, 0AH, $OUT_NUMDB Sorted numbers : , 0DH, 0AH, $IN_TIMDB Correct the time (HH:MM:SS) : $HINTSTRDB Press ESC, go back to the menu; or press any key to play again!$KEYBUFDB 61DB ?DB 61 DUP (?)NUMBUFDB ?
6、DB 20 DUP (?)DATAENDSCODESEGMENTASSUME CS:CODE, DS:DATA, SS:STACKSTART:MOV AX, DATAMOV DS, AXMOV AX, STACKMOV SS, AXMOV SP, OFFSET TOPMAIN:CALL FAR PTR MENU; 设置显示器AGAIN:MOV AH, 2MOV BH, 0; 页号MOV DL, 41; 列号MOV DH, 10; 行号INT 10H; 光标位置设置MOV AH, 1INT 21HCMP AL, 1JB AGAINCMP AL, 5JA AGAINSUB AL, 1; N-1SH
7、L AL, 1; (N-1)*2CBW; AL-AXLEA BX, TABLEADD BX, AXJMP WORD PTR BXG1:CALL FAR PTR CHGLTRMOV AH, 8INT 21HCMP AL, 1BHJZ MAINJMP G1G2:CALL FAR PTR MAXLTRMOV AH, 8INT 21HCMP AL, 1BHJZ MAINJMP G2G3:CALL FAR PTR SORTNUMMOV AH, 8INT 21HCMP AL, 1BHJZ MAINJMP G3G4:CALL FAR PTR TIMCHKMOV AH, 8INT 21HCMP AL, 1BH
8、JZ MAINJMP G4G5:MOV AH, 4CHINT 21HMENUPROC FAR; 显示主界面;设置显示器方式MOV AH, 0MOV AL, 3;MOV BL, 0;INT 10H; 清屏MOV AH, 2MOV BH, 0; 页号MOV DL, 5; 列号MOV DH, 5; 行号INT 10H; 光标位置设置MOV AH, 9LEA DX, STRING1INT 21HMOV AH, 2MOV DL, 5; 列号MOV DH, 6; 行号INT 10H; 光标位置设置MOV AH, 9LEA DX, STRING2INT 21HMOV AH, 2MOV DL, 5; 列号MO
9、V DH, 7; 行号INT 10H; 光标位置设置MOV AH, 9LEA DX, STRING3INT 21HMOV AH, 2MOV DL, 5; 列号MOV DH, 8; 行号INT 10H; 光标位置设置MOV AH, 9LEA DX, STRING4INT 21HMOV AH, 2MOV DL, 5; 列号MOV DH, 9; 行号INT 10H; 光标位置设置MOV AH, 9LEA DX, STRING5INT 21HMOV AH, 2MOV DL, 5; 列号MOV DH, 10; 行号INT 10H; 光标位置设置MOV AH, 9LEA DX, STRINGNINT 21
10、HRETMENUENDPCHGLTRPROC FAR; 将输入字符串中小写字母便换成大写字母RECHG:;设置显示器方式MOV AH, 0MOV AL, 3MOV BL, 0INT 10H; 清屏MOV AH, 2MOV BH, 0; 页号MOV DL, 5; 列号MOV DH, 5; 行号INT 10H; 输入提示光标位置设置MOV AH, 9LEA DX, IN_STRINT 21H; 输入字符串提示MOV AH, 2MOV DL, 5; 列号MOV DH, 6; 行号INT 10H; 输入字符串光标位置设置MOV AH, 0AHLEA DX, KEYBUFINT 21H; 输入字符串CM
11、P KEYBUF + 1, 0JZ RECHG ; 判断输入字符串是否为空串LEA BX, KEYBUF + 2MOV AL, KEYBUF + 1CBWMOV CX, AXADD BX, AXMOV BYTE PTR BX, $; 在输入字符串尾加结束标志$MOV AH, 2MOV BH, 0; 页号MOV DL, 5; 列号MOV DH, 7; 行号INT 10H; 源字符串提示光标位置设置MOV AH, 9LEA DX, PRESTRINT 21H; 输出源字符串提示MOV AH, 9LEA DX, KEYBUF + 2INT 21H; 输出源字符串LEA BX, KEYBUF + 2L
12、CHG:CMP BYTE PTR BX, 61HJB NOCHGAND BYTE PTR BX, 0DFHNOCHG:INC BXLOOP LCHG; 将字符串中小写字母转换成大写字母MOV AH, 2MOV BH, 0; 页号MOV DL, 5; 列号MOV DH, 8; 行号INT 10H; 新字符串提示光标位置设置MOV AH, 9LEA DX, NEWSTRINT 21H; 输出新字符串提示MOV AH, 9LEA DX, KEYBUF + 2INT 21H; 输出新字符串MOV AH, 2MOV BH, 0; 页号MOV DL, 5; 列号MOV DH, 9; 行号INT 10H;
13、提示信息光标位置设置MOV AH, 9LEA DX, HINTSTRINT 21H; 输出提示信息RETCHGLTRENDPMAXLTRPROC FAR; 在输入字符串中找出最大值REMAX:;设置显示器方式MOV AH, 0MOV AL, 3MOV BL, 0INT 10H; 清屏MOV AH, 2MOV BH, 0; 页号MOV DL, 5; 列号MOV DH, 5; 行号INT 10H; 输入提示光标位置设置MOV AH, 9LEA DX, IN_STRINT 21H; 输入字符串提示MOV AH, 2MOV DL, 5; 列号MOV DH, 6; 行号INT 10H; 输入字符串光标位
14、置设置MOV AH, 0AHLEA DX, KEYBUFINT 21H; 输入字符串CMP KEYBUF + 1, 0JZ REMAX; 判断输入字符串是否为空串LEA BX, KEYBUF + 2MOV AL, KEYBUF + 1CBWMOV CX, AXADD BX, AXMOV BYTE PTR BX, $; 在输入字符串位加结束标志$MOV AH, 2MOV BH, 0; 页号MOV DL, 5; 列号MOV DH, 7; 行号INT 10H; 源字符串提示光标位置设置MOV AH, 9LEA DX, OUT_STRINT 21H; 输出字符串提示MOV AH, 9LEA DX, K
15、EYBUF + 2INT 21H; 输出字符串MOV AH, 2MOV BH, 0; 页号MOV DL, 5; 列号MOV DH, 8; 行号INT 10H; 新字符串提示光标位置设置MOV AH, 9LEA DX, MAXCHRINT 21H; 输出字符串中最大值提示MOV DL, 0LEA BX, KEYBUF + 2LCMP:CMP BX, DLJB NOLCHGMOV DL, BXNOLCHG:INC BXLOOP LCMP; 找出字符串中最大字符,放入DLMOV AH, 2INT 21H; 输出字符串中最大字符MOV AH, 2MOV BH, 0; 页号MOV DL, 5; 列号MO
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 原理 上机 答案
限制150内