网友您好, 请在下方输入框内输入要搜索的题目:

题目内容 (请给出正确答案)

编制一个程序,使其实现如下功能:将内存中连续存放的10个十六位二进制无符号数按照从小到大的顺序排列。

例如:

内存中有:3456H,2345H,5643H,…(假设后面的7个数都大于5643H)

结果为: 2345H,3456H,5643H,…(后面跟7个字,按照从小到大的顺序排列)。

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

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

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

[试题程序]

EXTRN LOAD:FAR,SAVE:FAR

N EOU 10

SSEG SEGMENT STACK

DB 256 DUP (?)

SSEG ENDS

DSEG SEGMENT

SOURCE DW N DUP (?)

RESULT DW N DUP (0)

NAME0 DB 'INPUT.DAT',0

NAME1 DB 'OUTPUT.DAT',0

DSEG ENDS

CSEG SEGMENT

ASSUME CS:CSEG,DS:DSEG,SS:SSEG

START PROC FAR

PUSH DS

XOR AX,AX

PUSH AX

MOV AX,DSEG

MOV DS,AX

LEA DX,SOURCE

LEA SI,NAME0

MOV CX,N*2

CALL LOAD

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

MOV SI,OFFSET SOURCE

MOV DI, (1)

MOV CX,N

AGAIN0: MOV AX,[SI]

MOV [DI],AX

ADD SI,2

ADD DI,2

LOOP AGAIN0

CLD

MOV BX,N-1

AGAIN1: MOV SI,OFFSET RESULT

MOV CX,BX

AGAIN2: LODSW

CMP [SI], (2)

JAE NEXT

(3)

MOV [SI-2],AX

NEXT: LOOP (4)

DEC BX

JNZ (5)

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

LEA DX,RESULT

LEA SI,NAME1

MOV CX,N*2

CALL SAVE

RET

START ENDP

CSEG ENDS

END START


参考答案

更多 “ 编制一个程序,使其实现如下功能:将内存中连续存放的10个十六位二进制无符号数按照从小到大的顺序排列。例如:内存中有:3456H,2345H,5643H,…(假设后面的7个数都大于5643H)结果为: 2345H,3456H,5643H,…(后面跟7个字,按照从小到大的顺序排列)。部分程序已经给出,其中原始数据由过程LOAD从文件INPUT.DAT中读入以SOURCE开始的内存单元中。运算结果要求从RESULT开始的内存单元存放,由过程SAVE保存到文件OUTPUTDAT中。请填空BEGIN和END之间已给出的源程序使其完整,空白已经用横线标出,每行空白一般只需要一条指令,但采用功能相当的多条指令亦可,考生也可以删除BEGIN和END之间原有的代码并自行编程来完成要求的功能。对程序必须进行汇编,并与IO.OBJ链接产生可执行文件,最终运行程序产生结果。调试中若发现整个程序中存在错误之处,请加以修改。[试题程序]EXTRN LOAD:FAR,SAVE:FARN EOU 10SSEG SEGMENT STACKDB 256 DUP (?)SSEG ENDSDSEG SEGMENTSOURCE DW N DUP (?)RESULT DW N DUP (0)NAME0 DB 'INPUT.DAT',0NAME1 DB 'OUTPUT.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,N*2CALL LOAD; ******** BEGIN ********MOV SI,OFFSET SOURCEMOV DI, (1)MOV CX,NAGAIN0: MOV AX,[SI]MOV [DI],AXADD SI,2ADD DI,2LOOP AGAIN0CLDMOV BX,N-1AGAIN1: MOV SI,OFFSET RESULTMOV CX,BXAGAIN2: LODSWCMP [SI], (2)JAE NEXT(3)MOV [SI-2],AXNEXT: LOOP (4)DEC BXJNZ (5); ******** END ********LEA DX,RESULTLEA SI,NAME1MOV CX,N*2CALL SAVERETSTART ENDPCSEG ENDSEND 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

考题 请编制程序,其功能是:内存中连续存放着16个12位无符号二进制数DB11DB10…DB0,其存放格式均为DB11 DB10 DB9 DB8 DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 0 0 0 0请判别这16个12位二进制数是否大于800H:若大于800H,则相应地在内存中存入01H;否则,存入00H。最后存放这16个12位二进制数中大于800H的数的个数n(n用一个字节表示)。例如:内存中有12H,30H,84H,50H,80H,00H…结果为 00H,01H,00H…(共16个字节),后跟n部分程序已给出,其中原始数据由过程LOAD从文件INPUT1.DAT中读入SOURCE开始的内存单元中。运算结果要求从RESULT开始存放,由过程SAVE保存到文件OUTPUT1.DAT中。请填空BEGIN和END之间已给出的源程序使其完整(空白已用横线标出,每个空白一般只需一条指令,但采用功能相当的多条指令亦可),或删除BEGIN和END之间原有的代码并自行编程来完成所要求的功能。对程序必须进行汇编,并与IO.OBJ链接产生可执行文件,最终运行程序产生结果。调试中若发现整个程序中存在错误之处,请加以修改。试题程序:

考题 请编制程序,其功能是:内存中连续存放着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个8位有符号数构成一个数组,试依次去掉其中负的奇数,生成一个新的数组(顺序不变)。结果存放在RESULT开始的内存单元中。部分程序已经给出,其中原始数据由LOAD过程从文件INPUT1.DAT中读入从SOURCE开始的内存单元,运算结果要求从RESULT开始存放,由SAVE过程保存到OUTPUT1.DAT文件中。请在BEOIN和END之间补充使其完整。对程序必须进行汇编,并与IO.OBJ链接产生PROG1.EXE执行文件,最终产生运行结果。部分程序如下:; PROG1.ASMEXTRN LOAD:FAR,SAVE:FARLEN EQU 20DSEG SEGMENTSOURCE DW N DUP (?)RESULT DW N DUP (0)NAME0 DB 'INPUT1.DAT',0NAME1 DB 'OUTPUT1.DAT',0DSEG ENDSSSEG SEGMENT STACKDB 256 DUP (?)SSEG ENDSCSEG SEGMENTASSUME CS:CSEG, DS:DSEG;SS:SSEGSTART PROC FARPUSH DSXOR AX,AXPUSH AXMOV AX, DSEGMOV DS,AXMOV ES, AXLEA DX, SOURCELEA SI,NAME0MOV CX,NCALL LOAD; *** BEGIN ***………………………………; *** END ***LEA DX, RESULTLEA SI,NAME1MOV CX,NCALL SAVERETSTART ENDPCSEG ENDSEND START

考题 cnc系统软件是为了实现cnc系统各项功能所编制的专用软件,即存放于计算机内存中的系统程序。() 此题为判断题(对,错)。

考题 请编制程序,其功能是:内存中连续存放着20个十六位二进制数,对每个数逻辑右移,使其最低位为"1"(值为零的字不变)。例如:内存中有A704H(1010011100000100B),0000H,9A58H…结果为 29C1H(0010100111000001B),0000H,134BH…部分程序已给出,其中原始数据由过程LOAD从文件INPUT1.DAT中读入SOURCE开始的内存单元中,运算结果要求从RESULT开始存放,由过程SAVE保存到文件OUTPUT1.DAT中。请填空BEGIN和END之间已给出的源程序使其完整(空白已用横线标出,每个空白一般只需一条指令,但采用功能相当的多条指令亦可),或删除BEGIN和END之间原有的代码并白行编程来完成所要求的功能。对程序必须进行汇编,并与IO.OBJ链接产生可执行文件,最终运行程序产生结果。调试中若发现整个程序中存在错误之处,请加以修改。试题程序:

考题 编制一个程序,实现如下功能:将内存中连续存放的10个八位二进制无符号数按照从大到小的顺序排列。例如:内存中有:3EH,0FEH,5DH……(假设后面的7个数都小于3EH)结果为: 0FEH,5DH,3EH……(后面跟7个字,按照从大到小的顺序排列)。部分程序已经给出,其中原始数据由过程LOAD从文件INPUT.DAT中读入以SOURCE开始的内存单元中。运算结果要求从RESULT开始的内存单元存放,由过程SAVE保存到文件OUTPUT.DAT中。请填空BEGIN和END之间已给出的源程序使其完整,空白已经用横线标出,每行空白一般只需要一条指令,但采用功能相当的多条指令也行,考生也可以删除BEGIN和END之间原有的代码并自行编程来完成要求的功能。对程序必须进行汇编,并与IO.OBJ链接产生可执行文件,最终运行程序产生结果。调试中若发现整个程序中存在错误之处,请加以修改。【试题程序】EXTRN LOAD:FAR,SAVE:FARN EQU 10SSEG SEGMENT STACKDB 256 DUP (?)SSEG ENDSDSEG SEGMENTSOURCE DB N DUP (?)RESULT DB N DUP (0)NAME0 DB 'INPUT.DAT',0NAME1 DB 'OUTPUT.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 ********MOV SI,OFFSET SOURCEMOV DI,OFFSET RESULTMOV CX,NAGAIN0: MOV AX, [SI]MOV [DI],AXADD SI, (1)(2)LOOP AGAIN0CLDMOV BX,N-1AGAIN1: MOV SI,OFFSET RESULTMOV CX,BXAGAIN2: LODSBCMP [SI],AX(3)XCHG [SI],AX(4)NEXT: LOOP AGAIN2(5)JNZ AGAIN1;******** END ********LEA DX,RESULTLEA SI,NAME1MOV CX,NCALL SAVERETSTART ENDPCSEG ENDSEND START

考题 9、在内存中,列表中的元素是按先后顺序连续存放。

考题 将N个数据按照从小到大顺序组织存放在一个单向链表中。如果采用二分查找,那么查找的平均时间复杂度是O(logN)。