47. 将字符串补齐为某个特定长度提示输入字符串; 输入任意字符串 string ,点击 Enter 结束输入; 提示输入数字; 输入任意数字 int ,点击 Enter 结束输入;提示输入字符;输入任意字符 ch, 点击 Enter 结束输入如果字符串 string 长度大于 int ,则截取 string 的前 int 位输出; 如果字符串 string 长度小于 int ,则在 string 后面添加字符 ch,直至使字符串长度等于 int ; 如果字符串 string 长度等于 int ,则直接输出字符串。点击 Enter 程序退出 DATA SEGMENT S1DB0DH, 'ENTER ASTRING: $' S2DB0DH,0AH, 'ENTER ANUM: $' S3DB0DH,0AH, 'ENTER ACHARACTER: $' S4DB0DH,0AH, 'THE RESULT IS: $' BUF DB100,0,100 DUP (0) N0DB0;输入的数字 N1DB0;输入的字符串长度 N2DB0;输入的字符 DATA ENDS CODE SEGMENT MAIN PROC FAR ASSUME CS:CODE,DS:DATA START :PUSH DS XOR AX,AX PUSH AX MOV AX,DATA MOV DS,AX MOV AH,9 ;提示输入字符串 MOV DX, OFFSET S1 INT 21H MOV AH,0AH ;输入字符串 MOV DX, OFFSET BUF INT 21H MOV BX, OFFSET BUF ;保存输入的字符个数 INC BX MOV AL,[BX] MOV N0,AL MOV AH,9 ;提示输入数字 MOV DX, OFFSET S2 INT 21H PUT: MOV AH,07H ;输入数字 INT 21H CMP AL, '0' JBPUT CMP AL, '9' JAPUT MOV DL,AL SUB AL,30H MOV N1,AL ;保存输入的数字 MOV AH,2 ;显示输入的数字 INT 21H MOV AH,07H ;输入数字(用不回显方式) INT 21H CMP AL,0DH ;过滤掉数字外的字符 JZNEXT NEXT: MOV AH,9 ;提示输入字符 MOV DX, OFFSET S3 INT 21H MOV AH,1 ;输入字符 INT 21H MOV N2,AL MOV AH,1 ;输入字符 INT 21H CMP AL,0DH JZNEXT1 ;保存输入的字符 NEXT1: MOV AH,9 ;显示输出结果提示 MOV DX, OFFSET S4 INT 21H MOV AL,N1
郑州大学机械学院2010级微机原理课程设计第47题软件设计解析 来自淘豆网www.taodocs.com转载请标明出处.