![](https://lstatic.shangxueba.com/sxbzda/h5/images/m_q_title.png)
先利用程序查找功能确定并读出要删除的某条指令,可查找并读出紧接在要插入指令后的那条指令。然后键入要插入的指令并按下键,指令步序号随着新的指令送入之后自动加l()
A.INSTR
B.INS
C.DEL
D.END
![](https://lstatic.shangxueba.com/sxbzda/h5/images/tips_org.png)
A.INSTR
B.INS
C.DEL
D.END
第1题
B、INS
C、DEL
D、END
第5题
设内存中从SOURCE开始有一用上述方法压缩的字符串,其以OOH结束,解压后长度不超过100。试编程对其解压缩,结果存入RESULT开始的内存单元。
例如:
原串: 41H,1BH,06H,43H,61H,00H
解压缩后:41H,43H,43H,43H,43H,43H,43H,61H,OOH("ACCCCCCa")
部分程序已给出,原始数据由过程LOAD从文件INPUT.DAT中读入SOURCE开始的内存单元中,结果要求从RESULT开始存放,由过程SAVE保存到文件OUTPUT.DAT中。
请填空BEGIN和END之间已给出的源程序使其完整,空白己用横线标出,每个空白一般只需一条指令,但采用功能相当的多条指令亦可,或删除BEGIN和END之间原有的代码并自行编写程序片段来完成所要求的功能。
对程序必须进行汇编,并与IO.OBJ链接产生可执行文件,最终运行程序产生结果。调试中若发现整个程序中存在错误之处,请加以修改。
【试题程序】
EXTRN LOAD:FAR, SAVE:FAR
N EQU 100
ESC_CODE EQU 27
STAC SEGMENT STACK
DB 128 DUP(?)
STAC ENDS
DATA SEGMENT
SOURCE DB N DUP(?)
RESULT DB N 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
MOV ES, AX ;置附加段寄存器
LEA DX, SOURCE ;数据区起始地址
LEA SI, NAME0 ;原始数据文件名起始地址
MOV CX, N ;字节
CALL LOAD ;从"INPUT.DAT" 中读取数据
******** BEGIN ********
LEA SI, SOURCE
LEA DI, RESULT
CLD
LO: LODSB
CMP AL, 0
JE QUIT
CMP AL, ESC_CODE
J (1) EXPAND
(2)
JMP L0
EXPAND: (3)
第6题
a) Y=X*70 X<=10
b) Y=10*70+(X-10)*120 X>10
例如:
用水量(X):04H,0FH,18H…
水费(Y): 0118H,0514H,094CH…
试计算出这20个用户应缴纳的水费,结果用字(word)表示。
部分程序已给出原始数据由过程LOAD从文件INPUT.DAT中读入SOURCE开始的内存单元中,结果要求从RESULT开始存放,由过程SAVE保存到文件OUTPUT.DAT中。
请填空BEGIN和END之间已给出的源程序使其完整,空白已用横线标出,每个空白一般只需一条指令,但采用功能相当的多条指令亦可,或删除BEGIN和END之间原有的代码并自行编写程序片段来完成所要求的功能。
对程序必须进行汇编,并与IO.OBJ链接产生可执行文件,最终运行程序产生结果。调试中若发现整个程序中存在错误之处,请加以修改。
【试题程序】
EXTRN LOAD:FAR,SAVE:FAR
N EQU 20
RATE1 EQU 70
RATE2 EQU 120
DELTA EQU 10
STAC SEGMENT STACK
DB 128 DUP(?)
STAC ENDS
DATA SEGMENT
SOURCE DB N DUP(?)
RESULT DW N 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
NOV AX, DATA
MOV DS,AX
LEA DX,SOURCE ; 数据区起始地址
LEA SI,NAME0 ; 原始数据文件名起始地址
NOV CX,N ; 字节数
CALL LOAD ; 从'INPUT.DAT'中读取数据
; ******** BEGIN ********
LEA SI, SOURCE
LEA DI, RESULT
CLD
MOV CX,N
MOV BL,RATE1
MOV BH,RATE2
NEXT: (1)
CMP AL,DELTA
J (2) GREAT
MUL BL
JMP STORE
GREAT: (3)
MUL BH
(4)
STORE: (5)
(6)
INC SI
LOOP NEXT
; ******** END ********
LEA DX,RESULT ; 结果数据区首址
LEA SI,NAME1 ; 结果文件名起始地址
MOV CX,N*2 ; 字节数
CALL SAVE ; 保存结果到'OUTPUT.DAT'文件
RET
START ENDP
CODE ENDS
END START
第7题
设内存中从SOURCE开始有一用上述方法压缩的字符串,其以00H结束,解压后长度不超过 100。试编程对其解压缩,结果存入RESULT开始的内存单元。
例如:
原串:41H,1BH,06H,43H,61H,00H
解压后:41H,43H,43H,43H,43H,43H,43H,61H,00H("ACCCCCCa")
部分程序已在PROG1.ASM中给出,请填空BEGIN和END之间已给出的源程序使其完整(空白已用横线标出,每行空白一般只需一条指令,但功能相当的多条指令亦可)或删除BEGIN和 END之间原有的代码并自行编写程序片段来完成要求的功能。
原始数据由过程LOAD从文件INPUT1.DAT中读入SOURCE开始的内存单元中,结果要求从 RESULT开始存放,由过程SAVE保存到文件OUTPUT1.DAT中。
对程序必须进行汇编,并与IO.OBI链接产生PROG1.EXE执行文件,最终运行程序产生结果 (无结果或结果不正确者均不得分)。
PROG1.ASM文件内容如下:
EXTRN LOAD:FAR,SAVE:FAR
N EQU 100
ESC_CODE EQU 27
STAC SEGMENT STACK
DB 128DUP(?)
STAC ENDS
DATA SEGMENT
SOURCE DB N DUP(0)
RESULT DB N 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
MOV ES,AX ;置附加段寄存器
LEA DX,SOURCE ;数据区起始地址
LEA SI,NAME0 ;原始数据文件名
MOV CX,N ;字节数
CALL LOAD ;从'input1.DAT'中读取数据
;* * * * BEGIN * * * *
LEA SI,SOURCE
LEA DI,RESULT
CLD
LO: LODSB
CMP AL,0
JE QUIT
CMP AL,ESC_CODE
_____ EXPAND
_____ _____
JMP LO
EXPAND: _____ _____ ;解压
XOR CX,CX
_____ _____
第8题
例如:
内存中有: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
第9题
例如:
内存中有: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:FAR
N EQU 20
SSEG SEGMENT STACK
DB 256 DUP (?)
SSEG ENDS
DSEG SEGMENT
SOURCE DB N DUP (?)
RESULT DB N+2 DUP (0)
NAME0 DB 'INPUT.DAT',0
NAME1 DB '0UTPUT.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
CALL LOAD
; ******** BEGIN ********
LEA SI,SOURCE
LEA DI,RESULT
MOV DL,[SI]
MOV DH,DL
MOV [DI],DL
INC SI
INC DI
MOV CX, (1)
AGAIN: MOV AL,[SI]
CMP (2)
JBE MIN
(3)
JMP NEXT
MIN: CMP (4)
JAE NEXT
MOV DL,AL
NEXT: MOV [DI],AL
INC SI
INC DI
LOOP AGAIN
MOV [DI],DL
MOV (5)
; ******** END ********
LEA DX,RESULT
LEA SI,NAME1
MOV CX,N+2
CALL SAVE
RET
START ENDP
CSEG ENDS
END START
第10题
例如:
源数: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:FAR
N EQU 16
STAC SEGMENT STACK
DB 128 DUP(?)
STAC ENDS
DATA SEGMENT
SOURCE DB NDUP(?)
RESULT DB N+4DUP(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
LEA DX,SOURCE ;数据区起始地址
LEA SI,NAMEO ;原始数据文件名
MOV CX,N ;字节数
CALL LOAD ;从INPUT1.DAT文件中读取数据
; * * * * BECIN * * * *
___________
MOV DI,0
MOV CX,4
MOV BX,_
INSER1: DEC BX
JZ EXIT
MOV RESULT[DI),0FFH
___________
MOV CX,4
CHAN: MOV AL,SOURCE[SI]
___________
MOV RESULT[DI],AL
___________
INC DI
DEC CX
JZ ______
JMP CHAN
EXIT: NOP
;* * * * END * * * *
LKA DX,RESULT ;结果数据区首址
LEA SI,NAME1 ;结果文件名
&nb
为了保护您的账号安全,请在“上学吧”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!