1、PC技术机试模拟试卷 76及答案与解析 一、程序设计题 1 请编制程序,其功能是:求 IJ矩阵的转置矩阵 (矩阵中元素为字节型 ),并计算转置矩阵的每一行元素之和,然后存放在每一行最后一个字单元中。 例如: 内存中有: 04H, 05H, 06H, (第一行 )01H, 02H, 03H(第二行 ) 结果为: 04H, 01H, 05H, 00H, 05H, 02H, 07H, 00H, 06H, 03H, 09H,00H 部分程序已给出,其中原始数据由过程 LOAD从文件 INPUT1.DAT中读入SOURCE开始的内 存单元中。运算结果要求从 RESULT开始存放,由过程 SAVE保存到文
2、件 OUTPUT1.DAT中。 请填空 BEGIN和 END之间已经给出的一段源程序使其完整,需填空处已经用横线标出,每个空白一般只需要填一条指令或指令的一部分 (指令助记符或操作数 ),也可以填入功能相当的多条指令,或删去 BEGIN和 END之间原有的代码并自行编程来完成所要求的功能。 对程序必须进行汇编,并与 IO.OBJ链接产生可执行文件,最终运行程序产生结果。调试中若发现整个程序中存在错误之处,请加以修改。 试题程序 EXTRN LOAD:FAR,SAVE:FAR N EQU 30 I EQU 3 J EQU 10 DSEG SEGMENT SOURCE DB N DUP(?) SR
3、C DW SOURCE RESULT DB (N+2*J)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,SS:SSEG,DS:DSEG START PROC FAR PUSH DS XOR AX,AX PUSH AX MOV AX,DSEG MOV DS,AX MOV ES,AX LEA DX,SOURCE LEA SI,NAME0 MOV CX,N CALL LOAD * B
4、EGIN * LEA SI,SOURCE LEA DI,RESULT MOV BX,1 ; 第一列 LPJ: MOV CX,0 ; 累加和 MOV DX,1 ; 第一行 LPI: MOV AL,SI ADD CL,AL (1) STOSB ADD SI,10 INC DX (2) JBE LPI MOV DI,CX (3) INC SRC ; 下一列 MOV SI,SRC (4) CMP BX,J JBE (5) * END * LEA DX,RESULT LEA SI,NAME1 MOV CX,(N+2*J) CALL SAVE RET START ENDP CSEG ENDS END START PC技术机试模拟试卷 76答案与解析 一、程序设计题 1 【正确答案】 (1) ADC CH,0 (2) CMP DX,I (3) ADD DI,2 (4) INC BX (5) LPJ