请编制程序,其功能是:内存中存放着由20个16位有符号整数组成的序列,求出该序列中的最小值和最大值。结果存放形式为,先按原顺序存放20个需处理的有符号整数,后跟该序列中的最小值和最大值(最小值在前,最大值在后)。例如:内存中有:8100H,0002H,0300H…结果为: 8100H,0002H,0300H… (由20个16位有符号整数组成的原序列),结果的后面跟该序列中的最小值和最大值(最小值在前,最大值在后)。部分程序已给出,其中原始数据由过程LOAD从文件INPUT.DAT中读入SOURCE开始的内存单元中,运算结果要求从 RESULT开始存放,由过程SAVE保存到文件OUTPUT.DAT中。请填空BEGIN和END之间已给出的源程序使其完整,空白已用横线标出,每个空白一般只需一条指令,但采用功能相当的多条指令亦可,或删除BEGIN和END之间原有的代码并自行编程来完成所要求的功能。对程序必须进行汇编,并与IO.OBJ链接产生可执行文件,最终运行程序产生结果。调试中若发现整个程序中存在错误之处,请加以修改。【试题程序】XTRN LOAD:FAR,SAVE:FARN EQU 20STAC EGMENT STACKB 128 DUP(?)STAC NDSDATA SEGMENTSOURCE DW N DUP(?)RESULT DW (N+2)DUP(0)NAME0 DB 'INPUT.DAT',0NAME1 DB 'OUTPUT.DAT',0DATA ENDSCODE SEGMENTASSUME CS:CODE, DS:DATA, SS:STACSTART PROC FARPUSH DSXOR AX,AXPUSH AXMOV AX,DATAMOV DS,AXLEA DX,SOURCE ; 数据区起始地址LEA SI,NAME0 ; 原始数据文件名MOV CX,N*2 ; 字节数CALL LOAD ; 从'INPUT.DAT'中读取数据; ******** BEGIN ********LEA SI,SOURCELEA DI,RESULTMOV BX, [SI] ; 第一个整数既为最大值(1) ; 又为最小值MOV [DI],BXADD SI,2ADD DI,2(2)NEXT: MOV AX,[SI]CMP AX,BXJLE (3)MOV; BX,AXJMP ENDLMIN: CMP AX,DX(4) ENDLMOV DX, AXENDL: MOV [DI], AXADD SI,2ADD DI,2LOOP NEXT(5)ADD DI,2(6); ******** END ********LEA DX,RESULT ; 结果数据区首址LEA SI,NAME1 ; 结果文件名NOV CX,(2+N)*2 ; 结果字节数CALL SAVE ; 保存结果到文件RETSTART ENDPCODE ENDSEND START

请编制程序,其功能是:内存中存放着由20个16位有符号整数组成的序列,求出该序列中的最小值和最大值。结果存放形式为,先按原顺序存放20个需处理的有符号整数,后跟该序列中的最小值和最大值(最小值在前,最大值在后)。

例如:

内存中有:8100H,0002H,0300H…

结果为: 8100H,0002H,0300H… (由20个16位有符号整数组成的原序列),结果的后面跟该序列中的最小值和最大值(最小值在前,最大值在后)。

部分程序已给出,其中原始数据由过程LOAD从文件INPUT.DAT中读入SOURCE开始的内存单元中,运算结果要求从 RESULT开始存放,由过程SAVE保存到文件OUTPUT.DAT中。

请填空BEGIN和END之间已给出的源程序使其完整,空白已用横线标出,每个空白一般只需一条指令,但采用功能相当的多条指令亦可,或删除BEGIN和END之间原有的代码并自行编程来完成所要求的功能。

对程序必须进行汇编,并与IO.OBJ链接产生可执行文件,最终运行程序产生结果。调试中若发现整个程序中存在错误之处,请加以修改。

【试题程序】

XTRN LOAD:FAR,SAVE:FAR

N EQU 20

STAC EGMENT STACK

B 128 DUP(?)

STAC NDS

DATA SEGMENT

SOURCE DW N DUP(?)

RESULT DW (N+2)DUP(0)

NAME0 DB 'INPUT.DAT',0

NAME1 DB 'OUTPUT.DAT',0

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE, DS:DATA, SS:STAC

START PROC FAR

PUSH DS

XOR AX,AX

PUSH AX

MOV AX,DATA

MOV DS,AX

LEA DX,SOURCE ; 数据区起始地址

LEA SI,NAME0 ; 原始数据文件名

MOV CX,N*2 ; 字节数

CALL LOAD ; 从'INPUT.DAT'中读取数据

; ******** BEGIN ********

LEA SI,SOURCE

LEA DI,RESULT

MOV BX, [SI] ; 第一个整数既为最大值

(1) ; 又为最小值

MOV [DI],BX

ADD SI,2

ADD DI,2

(2)

NEXT: MOV AX,[SI]

CMP AX,BX

JLE (3)

MOV; BX,AX

JMP ENDL

MIN: CMP AX,DX

(4) ENDL

MOV DX, AX

ENDL: MOV [DI], AX

ADD SI,2

ADD DI,2

LOOP NEXT

(5)

ADD DI,2

(6)

; ******** END ********

LEA DX,RESULT ; 结果数据区首址

LEA SI,NAME1 ; 结果文件名

NOV CX,(2+N)*2 ; 结果字节数

CALL SAVE ; 保存结果到文件

RET

START ENDP

CODE ENDS

END START


相关考题:

编制一个程序,其实现的功能为:求出内存中连续存放的20个无符号数序列的最大值和最小值,并将结果按要求存入。结果的存放形式为:按原序列存放20个需要处理的无符号数,后跟该序列的最小值和最大值(最小值在前,最大值在后)。例如:内存中有:23H,45H,61H……结果为: 23H,45H,61H…… (20个需要处理的原来的无符号数),后面跟该序列的最小值和最大值(最小值在前,最大值在后)。部分程序已经给出,其中原始数据由过程LOAD从文件INPUT.DAT中读入以SOURCE开始的内存单元中。运算结果要求从RESULT开始的内存单元存放,由过程SAVE保存到文件OUTPUT.DAT中。请填空BEGIN和END之间已给出的源程序使其完整,空白已经用横线标出,每行空白一般只需要一条指令,但采用功能相当的多条指令也行,考生也可以删除BEGIN和END之间原有的代码并自行编程来完成要求的功能。对程序必须进行汇编,并与IO.OBJ链接产生可执行文件,最终运行程序产生结果。调试中若发现整个程序中存在错误之处,请加以修改。【试题程序】EXTRN LOAD:FAR,SAVE:FARN EQU 20SSEG SEGMENT STACKDB 256 DUP (?)SSEG ENDSDSEG SEGMENTSOURCE DB N DUP (?)RESULT DB N+2 DUP (0)NAME0 DB 'INPUT.DAT',0NAME1 DB '0UTPUT.DAT',0DSEG ENDSCSEG SEGMENTASSUME CS:CSEG,DS:DSEG,SS:SSEGSTART PROC FARPUSH DSXOR AX,AXPUSH AXMOV AX,DSEGMOV DS,AXLEA DX, SOURCELEA SI,NAME0MOV CX,NCALL LOAD; ******** BEGIN ********LEA SI,SOURCELEA DI,RESULTMOV DL,[SI]MOV DH,DLMOV [DI],DLINC SIINC DIMOV CX, (1)AGAIN: MOV AL,[SI]CMP (2)JBE MIN(3)JMP NEXTMIN: CMP (4)JAE NEXTMOV DL,ALNEXT: MOV [DI],ALINC SIINC DILOOP AGAINMOV [DI],DLMOV (5); ******** END ********LEA DX,RESULTLEA SI,NAME1MOV CX,N+2CALL SAVERETSTART ENDPCSEG ENDSEND START

● 已知一个二叉树的先序遍历序列为①、②、③、④、⑤,中序遍历序列为②、①、④、③、⑤,则该二叉树的后序遍历序列为 (57) 。对于任意一棵二叉树,叙述错误的是 (58) 。(57)A. ②、③、①、⑤、④B. ①、②、③、④、⑤C. ②、④、⑤、③、①D. ④、⑤、③、②、①(58)A. 由其后序遍历序列和中序遍历序列可以构造该二叉树的先序遍历序列B. 由其先序遍历序列和后序遍历序列可以构造该二叉树的中序遍历序列C. 由其层序遍历序列和中序遍历序列可以构造该二叉树的先序遍历序列D. 由其层序遍历序列和中序遍历序列不能构造该二叉树的后序遍历序列

请编制程序,其功能是:内存中连续存放着20个无符号字节数序列,请将它们排成升序(从小到大)。例如:内存中有01H,04H,02H…(假设后17个字节均大与04H)结果为 01H,02H,04H…(后跟17个字节,按从小到大的顺序排列)部分程序已给出,其中原始数据由过程LOAD从文件INPUT1.DAT中读入SOURCE开始的内存单元中。运算结果要求从RESULT开始存放,由过程SAVE保存到文件OUTPUT1.DAT中。请填空BEGIN和END之间已给出的源程序使其完整(空白已用横线标出,每个空白一般只需一条指令,但采用功能相当的多条指令亦可),或删除BEGIN和END之间原有的代码并白行编程来完成所要求的功能。对程序必须进行汇编,并与IO.OBJ链接产生可执行文件,最终运行程序产生结果。调试中若发现整个程序中存在错误之处,请加以修改。试题程序:

请编制程序,其功能是:内存中连续存放着20个无符号二进制字序列Xi(i=1,2,…,20),字的最高3位为000,此序列对应某一信号在一段时间内的连续变化,现对该信号进行一阶低通数字滤波,其滤波方程为:Yi=(15*Yi-1/16)+(Xi/16),Y0=0Yi(i=1,2…,20)为滤波后得到的新序列,结果存入内存。例如:内存中有01FFH,02FFH…结果 001H,004DH…部分程序已经给出,其中原始数据由过程LOAD从文件INPUT1.DAT中读入SOURCE开始的内存单元中,转换结果要求从RESULT开始存放,由过程SAVE保存到文件OUTPUT1.DAT中。请填空BEGIN和END之间已经给出的一段源程序使其完整,需填空处已经用横线标出,每个空白一般只需要填一条指令或指令的一部分(指令助记符或操作数),也可以填入功能相当的多条指令,或删去BEGIN和END之间原有的代码并自行编程来完成所要求的功能。对程序必须进行汇编,并与IO.OBJ链接产生可执行文件,最终运行程序产生结果。调试中若发现整个程序中存在错误之处,请加以修改。试题程序:

请编制程序,其功能是:内存中连续存放着两个无符号字节序列AK和BK((K=0,1,……,9),求序列CK,CK=AK-BK(CK以有符号字的形式按C0,C1……,C9的顺序连续存放)。例如:序列AK为:30H,FFH,80H,FFH…序列BK为:00H,FFH,FFH,OAH…结果CK为:0030H,000H,FF81H,FFF5H…部分程序已给出,其中原始数据由过程LOAD从文件INPUT1.DAT中读入SURCE开始的内存单元中,运算结果要求从 RESULT开始存放,由过程SAVE保存到文件OUTPUT1.DAT中。请填空BEGIN和END之间已给出的源程序使其完整,空白已用横线标出,每个空白一般只需一条指令,但采用功能相当的多条指令亦可,或删除BEGIN和END之间原有的代码并自行编程来完成所要求的功能。对程序必须进行汇编,并与IO.OBJ链接产生可执行文件,最终运行程序产生结果。调试中若发现整个程序中存在错误之处,请加以修改。[试题程序]EXTRN LOAD:FAR,SAVE:FARN EQU 10STAC SEGMENT STACKDB 128 DUP(?)STAC ENDSDATA SEGMENTSOURCE DB N*2 DUP(?)RESULT DW N DUP(0)NAME0 DB 'INPUT1.DAT',0NAME1 DB 'OUTPUT1.DAT',0DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,SS:STACSTART PROC FARPUSH DSXOR AX,AXPUSH AXMOV AX,DATAMOV DS,AXLEA DX,SOURCE ; 数据区起始地址LEA SI,NAME0 ; 原始数据文件名MOV CX,N*2 ; 字节数CALL LOAD ; 从"INPUT1.DAT"中读取数据******** BEGIN ********MOV DI,OFFSET RESULT ; 结果从RESULT开始存放MOV BX,0(1)PRO: MOV AH,0MOV AL,SOURCE[BX] ; 序列Ak中的一个字节SUB AL, (2) ; Ck=Ak-Bk(3) JUMP ; 无借位转JUMPMOV AH, (4) ; 有借位转换成有符号字(为负)JUMP: MOV (5) ,AADD DI,2INC BXDEC CXJNZ PRO; ******** END ********LEA DX,RESULT ; 结果数据区首址

下列程序的功能是:将一正整数序列{K1,K2,…,K9}重新排列成一个新的序列。新序列中,比K1小的数都在K1的前面(左面),比K1大的数都在K1的后面(右面)。要求编写函数NumSort(int a[10][9])实现此功能,最后调用Wdata函数将新序列输出到文件out.dat中。 说明:在程序中已给出了10个序列,每个序列有9个正整数,并存入数组a[l0][9]中,分别求出这10个新序列。 例:序列{6,8,9,1,2,5,4,7,3} 经重排后成为{3,4,5,2,1,6,8,9,7} 注意:部分源程序已经给出。 请勿改动主函数main和写函数Wdata的内容。

10、下列说法正确的是()。A.子串就是子序列。B.串中任意个字符组成的序列称为该串的子串。C.串中任意个连续字符组成的序列称为该串的子序列。D.串中任意个连续字符组成的序列称为该串的子串。

已知一棵二叉树的先序序列是A,B,C,D,E,F,G,和整数序列2,0,0,1,0,1,0。其中,整数序列中的第i个数,表示先序序列第i个结点的左子树上结点个数。则该二叉树的后序序列是 。A.ABCDEFGB.BCAEDGFC.CBEGFDAD.BCEDAGF

有一个整数数组,其中存放着序列1,3,5,7,9,11,13,15,17,19。请将该序列倒序存放并输出。