试题与答案

编制一个程序,其功能是:计算内存中连续存放的20个字节无符号数据的相邻两个数据之间的

题型:问答题

题目:

编制一个程序,其功能是:计算内存中连续存放的20个字节无符号数据的相邻两个数据之间的和,并找出和的最大值,和的最大值存放在结果的最后一个字单元,和为字数据。
例如:
内存中有:20H,04H,58H,34H,35H,4DH……,
则结果为:0024H,008CH,0082H……
部分程序已经给出,其中原始数据由过程LOAD从文件INPUT.DAT中读入以SOURCE开始的内存单元中。运算结果要求从RESULT开始的内存单元存放,由过程SAVE保存到文件OUTPUT.DAT中。
请填空BEGIN和END之间已给出的源程序使其完整,空白已经用横线标出,每行空白一般只需要—条指令,但采用功能相当的多条指令也行,考生也可以删除BEGIN和END之间原有的代码并自行编程来完成要求的功能。
对程序必须进行汇编,并与IO.OBJ链接产生可执行文件,最终运行程序产生结果。调试中若发现整个程序中存在错误之处,请加以修改。
【试题程序】
TRN OAD:FAR,SAVE:FAR
NEQU 10
SSEG SEGMENT TACK
B256 DUP ()
SSEG NDS
DSEG EGMENT
SOURCE DB N*2 DUP ()
RESULT DW N+1 DUP (0)
NAME0 DB ’INPUT.DAT’,0
NAME1 DB ’OUTPUT.DAT’,0
DSEG DS
CSEG EGMENTSSUME CS:CSEG,DS:DSEG,SS:SSEG
START PROC FAR
USH S
OR AX,AX
USH X
OV AX,DSEG
OV DS,AX
EA DX,SOURCE
EA SI,NAME0
OV CX,N*2ALL GAD
; ******** BEGIN ********
EA SI, SOURCE
EA DI,RESULT
OV CX,N
AGAIN0: (1)
OV AL,[SI]
DD AL,[SI+1]
DC AH,0
OV [DI],AX
DD SI, (2)
(3)
OOP GAIN0
OV BX,N-1
OV SI,OFFSET RESULT
OV AX,[SI]
AGAIN1: ADD SI, 2
MP AX,[SI]
(4)
OV AX,[SI]
NEXT: DEC BX
NZ AGAIN1
(5)
; ******** END ********
EA DX,RESULT
EA SI,NAME1
OV CX,N+1
ALL AVE
ET
START ENDP
CSEG ENDS
END START

答案:

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

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

参考答案:B

试题推荐
题型:单项选择题

下列程序中,若从键盘中输入的是大写字母C,则程序输出的结果是( )。   Importjava.io.*;   public class Exam{   public static void main(String args[]){   int ch=0;   System.out.println("输入一个字符:");   try{   ch=System.in.read();   charch_A=’A’,ch_Z=’Z’;   int delta c=(int)ch A+(int)ch Z-ch;   syStem. out.println("编码后的字符为:"+(char)delta_c);   }   catch(IOException e){   e.printStackTrace();   }   }   }

A.C

B.Y

C.X

D.字母C的ASCIl码的整型值

查看答案
微信公众账号搜索答案