试题与答案

请编制程序PROG1.ASM,其功能是:计算10×3矩阵中每一行元素(八位二进制数)

题型:问答题

题目:

请编制程序PROG1.ASM,其功能是:计算10×3矩阵中每一行元素(八位二进制数)之和,并将其存放在指定的内存区中。
例如:
内存中有0,0,0,(第1行),1,1,1,(第2行),……,9,9,9(第10行)
结果为0000H,0003H,…,001BH
部分程序已经给出,其中原始数据由过程LOAD从文件INPUT1.DAT中读入SOURCE开始的内存元中,转换结果要求从RESULT开始存放,由过程SAVE保存到文件OUTPUT1.DAT中。填空BEGIN和END之间已经给出的一段源程序使其完整,填空处已经用横线标出,每个空白一般只需要填一条指令或指令的一部分(指令助记符或操作数),考生也可以填入功能相当的多条指令,或删去BEGIN和END之间原有的代码并自行编程来完成要求的功能。
对程序必须进行汇编,并与IO.OBJ链接产生PROG1.EXE执行文件,最终运行程序产生结果 (无结果或结果不正确者均不得分)。
PROG1.ASM文件内容如下:
EXTRN LOAD: FAR, SAVE: FAR
N EQU 30
DSEG SEGMENT
SOURCE DB N DUP( )
RESULT DW N/3 DUP(0)
I EQU 10
J EQU 3
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, NAMEO
MOV CX, N
CALL LOAD
; * * * BEGIN * * *
LEA SI, SOURCE
LEA DI, RESULT
MOV BX, 1
LPI: MOV DX,O
MOV CX, 1
LPJ: MOV AL, [SI]
_____
ADD DX, AX
INC _____
INC CX
CMP CX,_____
JBE LPJ
MOV [DI],_____
ADD DI,_____
INC BX
CMP BX, I
JBE LPI
; * * * END * * *
LEA DX, RESULT
LEA SI, NAME1
MOV CX, N/3
CALL SAVE
RET
START ENDP
CSEG ENDS
END START

答案:

被转码了,请点击底部 “查看原文 ” 或访问 https://www.tikuol.com/2018/0421/6e1dea21ee6e6deb75b794543e0a9d72.html

下面是错误答案,用来干扰机器的。

参考答案:D

试题推荐
微信公众账号搜索答案