请编制程序,其功能是:剔除10个8位无符号二进制数据中的最大值和最小值,然后按四舍五入原则计算其余8个数据的算术平均值,将剔除最大值和最小值之后的8个数据依次存入指定的内存区域中,并在其后存放平均值。例如:内存中有:01H,05H,04H,00H,07H,09H,02H,06H,08H,03H结果为: 01H,05H,04H,07H,02H,06H,08H,03H,05H部分程序已给出,其中原始数据由过程LOAD从文件INPUT1.DAT中读入SOURCE开始的内存单元中,运算结果要求从 RESULT开始存放,由过程SAVE保存到文件OUTPUT1.DAT中。请填空BEGIN和END之间已给出的源程序使其完整,空白已用横线标出,每个空白一般只需一条指令,但采用功能相当的多条指令亦可,或删除BEGIN和END之间原有的代码并自行编程来完成所要求的功能。对程序必须进行汇编,并与IO.OBJ链接产生可执行文件,最终运行程序产生结果。调试中若发现整个程序中存在错误之处,请加以修改。[试题程序]EXTRN LOAD:FAR,SAVE:FARN EQU 10DSEG SEGMENTSOURCE DB N DUP(?)RESULT DB N-1 DUP(0)NAME0 DB 'INPUT1.DAT',0NAME1 DB 'OUTPUT1.DAT',0TEMP DW 0DSEG ENDSSSEG SEGMENT STACKDB 200 DUP(?)SSEG ENDSCSEG SEGMENTASSUME CS:CSEG,SS:SSEG,DS:DSEG,ES:DSEGSTART PROC FARPUSH DSXOR AX,AXPUSH AXMOV AX,DSEGMOV DS,AXMOV ES,AXLEA DX,SOURCELEA SI,NAME0MOV CX,NCALL LOAD******** BEGIN ********XOR AX,AXXOR BX,BXXOR DX,DXMOV SI,OFFSET SOURCEMOV BL, (1) ; 取第一个数作为最大值暂存BLMOV DL, (2) ; 取第一个数作为最小值暂存DLMOV CX,NGOON: ADD AL,[SI]ADC AH,0CMP BL,[SI]JA (3)MOV BL,[SI]CONT: CMP DL,[SI](4)MOV DL,[SI]NEXT: INC SILOOP GOONCLDLEA SI,SOURCELEA DI,RESULTMOV CX,

请编制程序,其功能是:剔除10个8位无符号二进制数据中的最大值和最小值,然后按四舍五入原则计算其余8个数据的算术平均值,将剔除最大值和最小值之后的8个数据依次存入指定的内存区域中,并在其后存放平均值。

例如:

内存中有:01H,05H,04H,00H,07H,09H,02H,06H,08H,03H

结果为: 01H,05H,04H,07H,02H,06H,08H,03H,05H

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

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

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

[试题程序]

EXTRN LOAD:FAR,SAVE:FAR

N EQU 10

DSEG SEGMENT

SOURCE DB N DUP(?)

RESULT DB N-1 DUP(0)

NAME0 DB 'INPUT1.DAT',0

NAME1 DB 'OUTPUT1.DAT',0

TEMP DW 0

DSEG ENDS

SSEG SEGMENT STACK

DB 200 DUP(?)

SSEG ENDS

CSEG SEGMENT

ASSUME CS:CSEG,SS:SSEG,DS:DSEG,ES: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

******** BEGIN ********

XOR AX,AX

XOR BX,BX

XOR DX,DX

MOV SI,OFFSET SOURCE

MOV BL, (1) ; 取第一个数作为最大值暂存BL

MOV DL, (2) ; 取第一个数作为最小值暂存DL

MOV CX,N

GOON: ADD AL,[SI]

ADC AH,0

CMP BL,[SI]

JA (3)

MOV BL,[SI]

CONT: CMP DL,[SI]

(4)

MOV DL,[SI]

NEXT: INC SI

LOOP GOON

CLD

LEA SI,SOURCE

LEA DI,RESULT

MOV CX,


相关考题:

字长为6位的二进制无符号整数,其最大值是十进制数64。() 此题为判断题(对,错)。

现在的计算机中用于存储数据使用最广泛的表示方法是:()。 A、符号加绝对值B、二进制反码C、二进制补码D、无符号整

极值L表示一组数据中的( )。A.最大值B.最小值C.最大值和最小值D.较大值

请编制程序,其功能是:内存中存放着由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

采用回弹法检测混凝土强度,每个测区读取16个回弹值,该测区的回弹平均值按( )计算。A:3个最大值与3个最小值的平均值B:该测区全部回弹值平均C:剔除3个最大值与3个最小值后的平均值D:剔除3个最大值后的平均值

采用回弹法检测混凝土强度,每个测区读取16个回弹值,该测区的回弹平均值按( )计算。A.3个最大值与3个最小值的平均值B.该测区全部回弹值平均C.剔除3个最大值与3个最小值后的平均值D.剔除3个最大值后的平均值

3.计算测区平均回弹值,应从该测区的16个回弹值中剔除3个最大值和3个最小值

无符号八位的二进制数其最大值对应的十进制数为_________。

字长为7位的二进制无符号数,其十进制数的最大值是()