1、PC技术机试模拟试卷 39及答案与解析 一、程序设计题 1 请编制程序,其功能为:将一个 ASCII字符串中所有大写字母全部变成小写字母,其他字母不变。字符串以 00H结束,长度不超过 20个字节。 部分程序已经给出,其中原始数据由 LOAD过程从文件 INPUT1.DAT中读入从SOURCE开始的内存单元,运算结果要求从 RESULT开始存放,由 SAVE过程保存到 OUTPUT1.DAT文件中。请在 BEGIN和 END之间补充使其完整,完成要求的功能。或删除 BEGIN和 END之间原有的代码并自行编程来完成要求的 功能。 对程序必须进行汇编,并与 IO.OBJ链接产生 PROG1.EX
2、E执行文件,最终产生运行结果。 部分程序如下: ;PROG1.ASM EXTRN LOAD:FAR, SAVE:FAR N EQU 20 DSEG SEGMENT SOURCE DW N DUP (?) RESULT DW N DUP (0) NAME0 DB INPUT1.DAT,0 NAME1 DB OUTPUT1.DAT,0 DSEG ENDS SSEG SEGMENT STACK DB 256 DUP (?) SSEG ENDS CSEG SEGMENT ASSUME CS:CSEG, DS:DSEG;SS:SSEG START PROC FAR PUSH DS XOR AX,AX P
3、USH AX MOV AX,DSEG MOV DS,AX LEA DX, SOURCE LEA SI,NAME0 MOV CX,N CALL LOAD ; * BEGIN * ; * END * LEA DX, RESULT LEA SI,NAME1 MOV CX,N CALL SAVE RET START ENDP CSEG ENDS END START PC技术机试模拟试卷 39答案与解析 一、程序设计题 1 【正确答案】 ; * BEGIN * LEA SI,SOURCE LEA DI,RESULT MOV CX,N LP0:MOV AL,SI CMP AL,00H JZ QUIT CMP AL,A JB LP1 CMP AL,Z JNB LP1 ADD AL,20H. LP1: MOV DI,AL INC DI INC SI LOOP LP0 QUIT: NOP ; * END * INPUT1.DAT 中的输入数据 : 81H,60H,8EH,38H,68H,60H,8EH,38H,68H,5EH, 50H,61H,72H, g3H,94H,2BH,51H, 11H,45H,E9H 输出结果 81 60 8E 38 68 60 8E 38 68 5E 70 61 72 83 94 2B 71 11 65 E9