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

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

请编制程序,其功能是:内存中连续存放着两个由8位有符号整数组成的序列Ai和Bi(i=0,…,9;下同),Ai在前,Bi在后。求序列Ci,Ci=Ai+Bi。结果Ci用字单元按C0,…,C9的顺序存放。

例如:

序列Ai为:80H(-128D),31H(+49D),61(+97D),7FH(+127D),…

序列Bi为:80H(-128D),01(+1D),F1H(-15D),7FH(+127D),…

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

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

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

[试题程序]

EXTRN LOAD:FAR,SAVE:FAR

N EQU 10 每个序列的长度

STAC SEGMENT STACK

DB 128 DUP (?)

STAC ENDS

DATA SEGMENT

SOURCE DB N*2 DUP(?) ; 顺序存放A0,L,A9,B0,L,B9

RESULT DW N DUP(0) ; 顺序存放C0,L,C9

NAME0 DB 'INPUT1.DAT',0

NAME1 DB 'OUTPUT1.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 ;从"INPUT1.DAT"中读取数据

; **+***** BEGIN ********

MOV DI,OFFSET RESULT ;结果从RESULT开始存放

MOV BX,0

MOV CX,N

PRO: MOV AH,0

MOV AL, (1) ;序列Bi中的一个整数

MOV DL,AL ;暂存Bi

(2) AL,SOURCE[BX] ;Ci=Bi+Ai

JNO STAY ;无溢出转STAY

JUMP1: MOV AH,00 ;有溢出

ADD DL,0

JNS JUMP ;Bi是正数(为一个正数加上一个正数,

;结果为负数的溢出情况)转JUNP(AH

;已为00H)

MOV AH, (3) ;Bi是负数(为一个负数加上一个负数,

;结果为正数的溢出情况)将结果变为

;负数

JMP (4)&nbs


参考答案

更多 “ 请编制程序,其功能是:内存中连续存放着两个由8位有符号整数组成的序列Ai和Bi(i=0,…,9;下同),Ai在前,Bi在后。求序列Ci,Ci=Ai+Bi。结果Ci用字单元按C0,…,C9的顺序存放。例如:序列Ai为:80H(-128D),31H(+49D),61(+97D),7FH(+127D),…序列Bi为:80H(-128D),01(+1D),F1H(-15D),7FH(+127D),…部分程序已经给出,其中原始数据由过程LOAD从文件INPUT1.DAT中读入SOURCE开始的内存单元中,运算结果要求从RESULT开始存放,由过程SAVE保存到文件OUTPUT1.DAT中。请填空BEGIN和END之间已给出的源程序使其完整,空白处已用横线标出,每行空白一般只需一条指令,但采用功能相当的多条指令亦可,或删去BEGIN和END之间原有的代码并自行编程来完成所要求的功能。对程序必须进行汇编,并与IO.OBJ连接产生可执行文件,最终运行程序产生结果。调试中若发现整个程序存在错误之处,请加以修改。[试题程序]EXTRN LOAD:FAR,SAVE:FARN EQU 10 每个序列的长度STAC SEGMENT STACKDB 128 DUP (?)STAC ENDSDATA SEGMENTSOURCE DB N*2 DUP(?) ; 顺序存放A0,L,A9,B0,L,B9RESULT DW N DUP(0) ; 顺序存放C0,L,C9NAME0 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,0MOV CX,NPRO: MOV AH,0MOV AL, (1) ;序列Bi中的一个整数MOV DL,AL ;暂存Bi(2) AL,SOURCE[BX] ;Ci=Bi+AiJNO STAY ;无溢出转STAYJUMP1: MOV AH,00 ;有溢出ADD DL,0JNS JUMP ;Bi是正数(为一个正数加上一个正数,;结果为负数的溢出情况)转JUNP(AH;已为00H)MOV AH, (3) ;Bi是负数(为一个负数加上一个负数,;结果为正数的溢出情况)将结果变为;负数JMP (4)&nbs ” 相关考题
考题 请编制程序,其功能是:内存中连续存放着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 ; 结果数据区首址

考题 【程序说明】 计算下列算式的值。a,Ai为正整数,从键盘输入。其小∑Ai=1+2…+ Ai,Ai!=1 *2*3*Ai(i=1,2… a)。【程序】SET TAIK OFFCLEARINPUT“M=”TO MSTORE 0 TO S1,S2FOR I=1 TO M(8)DO SUB1DO SUB2ENDFOR? ” 所求算式的值为:“+ALLTRIM(STR(S1/S2,15,3))SET TALK ONPROCEDURE SUB1(9)FOR R=1 TO AK=K+RENDFOR(10)RETURNPROCEDURE SUB2(11)FOR P=1 TO AT=T*PENDFOR(12)RETURN(8)A.INPUT“A=”TO AB.INPUT“I=”TO IC.INPUT“R=”TO STR(R)D.INPUT“K=”TOK

考题 请编制程序,其功能为:已知斐波那契(Fibonacci)数0,1,1,2,3,5,8,13……这些数的关系是:从第三项开始,每项都是它前面两项之和。若用ai表示第i项,则有a1=0、a2=1、 ai=ai-1+ai-2(i≥3)。试求出第24个斐波那契数,存放在RESULT开始的内存单元中。部分程序已经给出,其中原始数据由LOAD过程从文件INPUT1.DAT中读入从SOURCE开始的内存单元,运算结果要求从RESULT开始存放,由SAVE过程保存到OUTPUT1.DAT文件中。请在BEGIN和END之间补充使其完整,完成要求的功能。或删除BEGIN和END之间原有的代码并自行编程来完成要求的功能。对程序必须进行汇编,并与IO.OBJ链接产生PROG1.EXE执行文件,最终产生运行结果。部分程序如下:; PROG1.ASMEXTRN LOAD:FAR, SAVE:FARN EQU 1DSEG SEGMENTSOURCE DW N DUP (?)RESULT DW N DUP (0)NAME0 DB 'INPUT1.DAT',0NAME1 DB 'OUTPUT1.DAT',0DSEG ENDSSSEG SEGMENT STACKDB 128 DUP (?)SSEG 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 AX,______MOV BX, 1_____________L1: _______________________________________MOV [RESULT],BX; *** END ***LEA DX,RESULTLEA SI,NAME1MOV CX,NCALL SAVERETSTART ENDPCSEG ENDSEND START

考题 其中ai≠0,bi≠0(i=1,2,...,n),则矩阵A的秩等于: A.n B.0 C. 1 D.2

考题 两个电串联,求解电路中各物理量的关系式有()AI=I1+I2BI=I1=I2CU=U1+U2DU=U1=U2

考题 两个电阻并联,求解中各物理量的关系有()AI=I1+I2BI=I1=I2CU=U1+U2DU=U1=U2

考题 若一维数组的首个元素是a0,每个元素占d个字节,则其随机存取公式是()?A.Loc(ai) = Loc(a0) + (i+1)*dB.Loc(ai) = Loc(a0) + i*dC.Loc(ai) = Loc(a0) + (i-1)*dD.Loc(ai) = Loc(a0) + i

考题 设i=1,2,3,…,n,ai为第i个时期经济水平,则ai/a0是 发展速度,ai/ai-1是 发展速度。