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

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

请编制程序,其功能是:内存中连续存放着16个二进制字节数,在原16个数的第4和第5个数之间插入00H,在原16个数的第8和第9个数之间插入55H,在原16个数的第12和第13个数之间插入AAH,在原16个数的最后加入FFH。将按上述方法插入4个字节数后得到的20个字节数存入内存中。

例如:

内存中有:10H,20H,30H,40H,50H,…,8FH(共16个字节)

结果为: 10H,20H,30H,40H,00H,50H,…,8FH,FFH(共20个字节)

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

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

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

[试题程序]

EXTRN LOAD:FAR,SAVE:FAR

N EQU 16

STAC SEGMENT STACK

DB 128 DUP (?)

STAC ENDS

DATA SEGMENT

SOURCE DB N DUP (?)

INDATA DB 0FFH,0AAH,55H,00H

RESULT DB N+4 DUP(0)

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

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

OV CX,N ; 字节数

ALL LOAD ; 从'INPUT1.DAT'中读取数据

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

(1)

OV DI,0

OV CX,4

OV BX,4

CHAN: (2)

OV RESULT[DI],AH

(3)

NC DI

EC CX

Z INSER1

MP CHAN

INSER1: PUSH SI

MOV SI,BX

MOV AX,WORD PTR INDATA[SI-2]

MOV RESULT [DI], (4)

DEC BX

JZ (5)

MOV CX,04H

(6)

INC (7)

JMP CHAN

EXIT: &


参考答案

更多 “ 请编制程序,其功能是:内存中连续存放着16个二进制字节数,在原16个数的第4和第5个数之间插入00H,在原16个数的第8和第9个数之间插入55H,在原16个数的第12和第13个数之间插入AAH,在原16个数的最后加入FFH。将按上述方法插入4个字节数后得到的20个字节数存入内存中。例如:内存中有:10H,20H,30H,40H,50H,…,8FH(共16个字节)结果为: 10H,20H,30H,40H,00H,50H,…,8FH,FFH(共20个字节)部分程序已给出,其中原始数据由过程LOAD从文件INPUT1.DAT中读入SOURCE开始的内存单元中。运算结果要求从 RESULT开始存放,由过程SAVE保存到文件OUTPUT1.DAT中。请填空BEGIN和END之间已经给出的源程序使其完整,需填空处已经用横线标出,每个空白一般只需一条指令,也可以填入功能相当的多条指令,或删去BEGIN和END之间原有的代码并自行编程来完成所要求的功能。对程序必须进行汇编,并与IO.OBJ链接产生可执行文件,最终运行程序产生结果。调试中若发现整个程序中存在错误之处,请加以修改。[试题程序]EXTRN LOAD:FAR,SAVE:FARN EQU 16STAC SEGMENT STACKDB 128 DUP (?)STAC ENDSDATA SEGMENTSOURCE DB N DUP (?)INDATA DB 0FFH,0AAH,55H,00HRESULT DB N+4 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,AXEA DX,SOURCE ; 数据区起始地址OV CX,N ; 字节数ALL LOAD ; 从'INPUT1.DAT'中读取数据******** BEGIN ********(1)OV DI,0OV CX,4OV BX,4CHAN: (2)OV RESULT[DI],AH(3)NC DIEC CXZ INSER1MP CHANINSER1: PUSH SIMOV SI,BXMOV AX,WORD PTR INDATA[SI-2]MOV RESULT [DI], (4)DEC BXJZ (5)MOV CX,04H(6)INC (7)JMP CHANEXIT: & ” 相关考题
考题 :一列数1,2,4,7,11,16,22,29,…这列数的组成规律是第2个数比第1个数多1;第3个数比第2个数多2;第4个数比第3个数多3;依此类推。那么这列数左起第1992个数除以5的余数是( )。A.0B.1C.2D.4

考题 请编制程序PROG1,ASM,其功能是:内存中连续存放着12个字节的数字ASCII码字符串,将它们转换成相应无符号数字,并在原第1、5、9个数字前插入一个24H数值。将这20个数值存入 RESULT指示的区域。例如:源数:30H,31H,32H,33H,34H,35H,36H,…结果:24H,00H,01H,02H,03H,24H,04H,…部分程序已经给出,其中原始数据由过程LOAD从文件INPUT1.DAT中读入SOURCE开始的内存元中,运算结果要求从RESULT开始存放,由过程SAVE保存到文件OUTPUT1.DAT中。填空BEGIN和END之间已给出的源程序使其完整(空白已用横线标出,每行空白一般只需一条指令,但采用功能相当的多条指令也可),或删除BEGIN和END之间原有的代码并自行编程来完成要求的功能。对程序必须进行汇编,并与IO.OBJ链接产生执行文件,最终运行程序产生结果。调试中若发现整个程序中存在错误之处,请加以修改。PROG1.ASM文件内容如下:EXTRN LOAD:FAR,SAVE:FARN EQU 16STAC SEGMENT STACKDB 128 DUP(?)STAC ENDSDATA SEGMENTSOURCE DB NDUP(?)RESULT DB N+4DUP(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,NAMEO ;原始数据文件名MOV CX,N ;字节数CALL LOAD ;从INPUT1.DAT文件中读取数据; * * * * BECIN * * * *___________MOV DI,0MOV CX,4MOV BX,_INSER1: DEC BXJZ EXITMOV RESULT[DI),0FFH___________MOV CX,4CHAN: MOV AL,SOURCE[SI]___________MOV RESULT[DI],AL___________INC DIDEC CXJZ ______JMP CHANEXIT: NOP;* * * * END * * * *LKA DX,RESULT ;结果数据区首址LEA SI,NAME1 ;结果文件名&nb

考题 请编制程序,其功能是:内存中连续存放着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链接产生可执行文件,最终运行程序产生结果。调试中若发现整个程序中存在错误之处,请加以修改。试题程序:

考题 请编制程序,其功能是:内存中连续存放着10个十六位二进制数,每个数的序号依次定义为0,1,…,9。统计每个数中位为0的个数N0,N1,…,N9(均用一个字节表示),然后按序将N0至N9存入内存中,最后再用一个字节表示这10个数中为0的位的总数n(n=N0+N1+…+N9)。例如:内存中有:0000H,000FH,FFFFH…结果为: 10H,0CH,00H…最后为n部分程序已给出,其中原始数据由过程LOAD从文件INPUT.DAT中读入SOURCE开始的内存单元中。运算结果要求从 RESULT开始存放,由过程SAVE保存到文件OUTPUT.DAT中。请填空BEGIN和END之间已给出的源程序使其完整,空白己用横线标出,每个空白一般只需一条指令,但采用功能相当的多条指令亦可,或删除BEGIN和END之间原有的代码并自行编程来完成所要求的功能。对程序必须进行汇编,并与IO.OBJ链接产生可执行文件,最终运行程序产生结果。调试中若发现整个程序中存在错误之处,请加以修改。【试题程序】EXTRN LOAD:FAR,SAVE:FARN EQU 10STAC SEGMENT STACKDB 128 DUP (?)STAC ENDSDATA SEGMENTSOURCE DW N DUP(?)RESULT DB N+1 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 ********MOV DI,OFFSET RESULTMOV CL,NMOV BX,0MOV DR,0PRO: MOV DL,0MOV AX, SOURCE[BX]MOV CH, (1)COUNT: (2)(3) JUMPINC DLJUMP: DEC CHJNZ (4)MOV [DI], DLADD DH,DLINC DIADD (5)DEC CLJNZ PROMOV (6); ******** END ********LEA DX,RESULT ; 结果数据区首址LEA SI,NAME1 ; 结果文件名MOV CX,N+1 ; 结果字节数CALL SAVE ; 保存结果到文件RETSTART ENDPCODE ENDSEND START

考题 一列数1,2,4,7,11,16,22,29,…这列数的组成规律是第2个数比第1个数多1;第3个数比第2个数多2;第4个数比第3个数多3;依此类推。那么这列数左起第1992个数除以5的余数是( )。A.0B.1C.2D.4

考题 有10个连续奇数,第1个数等于第10个数的5/11,求第1个数?A、5B、11C、13D、15

考题 有10个连续奇数,第1个数等于第10个数的11/5,求第1个数?( )A.5B.11C.13D.15

考题 将奇数按顺序排成如图所示的数阵。从上到下称为行,图中数11为第3行,从左往右数的第2个数,数27为第4行第5个数。那么2021为第几行第几个数? 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 ……A.第44行第85个数B.第45行第85个数C.第32行第51个数D.第32行第50个数

考题 增加I0.0-I0.5的设备通道,通道类型选为I寄存器,数据类型和通道个数为:A.通道的第00位,通道个数5B.通道的第00位,通道个数6C.通道的第01位,通道个数5D.通道的第01位,通道个数6