推荐文章:三级网络技术模拟试卷 推荐文章简介: 一、选择题(1) 组建计算机网络的目的是为了能够相互共享资源,这里的计算机资源主要是指硬件、软件与 。A) 大型机 B) 通信系统 C) 服务器 D) 数据(2) 计算机网络与分布系统之间的区别主要是在 。A) 系统物理结构 B)
第九十一题:
一、请编制程序,其功能是:内存中连续存放着10个字节数,需对它们进行加密,其方法为:如某个数(两位十六进制数X1X2表示)的高位十六进制数X1大于或等于低位十六进制数X2,则低位十六进制数X2用X1-X2代替;如某个数的高位十六进制数X1小于低位十六进制数X2,则高位十六进制数X1用X2-X1代替。将加密后的结果存入内存。
例如:
内存中有 41H,46H…
结果 43H,26H…
部分程序已给出, 其中原始数据由过程LOAD从文件INPUT1.DAT中读入SOURCE开始的内存单元中。运算结果要求从RESULT开始存放,由过程SAVE保存到文件OUTPUT1.DAT中。
填空BEGIN和END之间已给出的一段源程序使其完整(空白已用横线标出,每行空白一般只需一条指令, 但采用功能相当的多条指令亦可),或删除BEGIN和END之间原有的代码并自行编程来完成要求的功能。
对程序必须进行汇编,并与IO.OBJ链接产生PROG1.EXE执行文件,最终运行程序产生结果(无结果或结果不正确者均不得分)。调试中若发现整个程序中存在错误之处, 请加以修改。
试题程序:
EXTRN LOAD:FAR,SAVE:FAR
N EQU 10
STAC SEGMENT STACK
DB 128 DUP(?)
STAC ENDS
DATA SEGMENT
SOURCE DB N DUP(?) ;顺序存放十个字节数
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
LEA DX,SOURCE ;数据区起始地址
LEA SI,NAME0 ;原始数据文件名
MOV CX,N ;字节数
CALL LOAD ;从'INPUT1.DAT'中读取数据
;****BEGIN****
LEA DI,RESULT
LEA SI,SOURCE
MOV CX,N
AGN1: MOV AL,[SI]
MOV AH,AL
AND AL,0FH
AND AH,0F0H
MOV DX,4
AGN2: SHR AH,1
___________________________
JNZ AGN2
CMP AH,AL
___________________________
MOV BL,AL
SUB BL,AH
MOV AH,BL
JMP STORE1
G1: MOV BH,AH
SUB BH,AL
MOV ___________,BH
STORE1: MOV DX,4
AGN3: ________ AH,1
DEC DX
JNZ AGN3
________ AH,AL
MOV [DI],AH
INC DI
INC SI
LOOP AGN1
;****END****
LEA DX,RESULT ;结果数据区首址
LEA SI,NAME1 ;结果文件名
MOV CX,N ;字节数
CALL SAVE ;保存结果到文件
RET
START ENDP
CODE ENDS
END START
第九十二题:
一、请编制程序,其功能是:对内存中存放的六组带符号16位二进制数(每组由三个数组成,均不为零)进行处理。处理方法为:当每组中负数多于正数时,将组内负数变成正数(但绝对值不变,下同),组内正数不变。反之,将组内正数变成负数,组内负数不变。变换好的数按原序存放在内存中。
例如:
内存中有 0003H,0001H,0002H,0003H,0004H,FFFFH,FFFEH,FFFDH,0001H,FFFEH,FFFDH,FFFFH…(共六组18个数)
结果为 FFFDH,FFFFH,FFEH,FFFDH,FFFCH,FFFFH,0002H,0003H,0001H,0002H,0003,0001H…(共18个数)
部分程序已给出, 其中原始数据由过程LOAD从文件INPUT1.DAT中读入SOURCE开始的内存单元中。运算结果要求从RESULT开始存放,由过程SAVE保存到文件OUTPUT1.DAT中。
填空BEGIN和END之间已给出的一段源程序使其完整(空白已用横线标出,每行空白一般只需一条指令, 但采用功能相当的多条指令亦可),或删除BEGIN和END之间原有的代码并自行编程来完成要求的功能。
对程序必须进行汇编,并与IO.OBJ链接产生PROG1.EXE执行文件,最终运行程序产生结果(无结果或结果不正确者均不得分)。调试中若发现整个程序中存在错误之处, 请加以修改。
试题程序:
EXTRN LOAD:FAR,SAVE:FAR
N EQU 18
STAC SEGMENT STACK
DB 128 DUP(?)
STAC ENDS
DATA SEGMENT
SOURCE DW N DUP(?)
RESULT DW 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
LEA DX,SOURCE ;数据区起始地址
LEA SI,NAME0 ;原始数据文件名
MOV CX,N*2 ;字节数
CALL LOAD ;从'INPUT1.DAT'中读取数据
;****BEGIN****
MOV SI,0
MOV DI,0
MOV BX,6
REPT1: MOV DX,0
____________________________
CAMP: MOV AX,SOURCE[SI]
____________________________
CMP AX,0
JL CONT
JMP NEXT
CONT: INC DX
NEXT: LOOP CAMP
SUB SI,6
MOV CX,3
CMP DX,2
JAE NEG1
________ NEXT1
NEG1: MOV AX,SOURCE[SI]
______________________
CMP AX,0
JL NEG2
JMP NOTNEG
NEG2: ______________________
NOTNEG: MOV RESULT[DI],AX
______________________
LOOP NEG1
JMP NEXT2
NEXT1: MOV AX,SOURCE[SI]
______________________
CMP AX,0
JG NEG3
JMP NOTNEG1
NEG3: NEG AX
NOTNEG1:MOV RESULT[DI],AX
_______________________
LOOP NEXT1
NEXT2: DEC BX
JZ EXIT
_______________________
EXIT: NOP
;****END****
LEA DX,RESULT ;结果数据区首址
LEA SI,NAME1 ;结果文件名
MOV CX,N*2 ;字节数
CALL SAVE ;保存结果到文件
RET
START ENDP
CODE ENDS
END START
第九十三题:
一、请编制程序,其功能是:内存中连续存放着20个有符号字节数序列,求出该序列的最大值和最小值。结果存放形式为:先按原序存放20个需处理的有符号字节数序列,后跟该序列的最大值和最小值(最大值在前,最小值在后)。
例如:
内存中有 81H,02H,03H…
结果为 81H,02H,03H…(共20个个需处理的原有符号字节序列),后跟该序列的最大值和最小值(最大值在前,最小值在后)。
部分程序已给出, 其中原始数据由过程LOAD从文件INPUT1.DAT中读入SOURCE开始的内存单元中。运算结果要求从RESULT开始存放,由过程SAVE保存到文件OUTPUT1.DAT中。
填空BEGIN和END之间已给出的一段源程序使其完整(空白已用横线标出,每行空白一般只需一条指令, 但采用功能相当的多条指令亦可),或删除BEGIN和END之间原有的代码并自行编程来完成要求的功能。
对程序必须进行汇编,并与IO.OBJ链接产生PROG1.EXE执行文件,最终运行程序产生结果(无结果或结果不正确者均不得分)。调试中若发现整个程序中存在错误之处, 请加以修改。
试题程序:
EXTRN LOAD:FAR,SAVE:FAR
N EQU 20
STAC SEGMENT STACK
DB 128 DUP(?)
STAC ENDS
DATA SEGMENT
SOURCE DB N DUP(?)
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
LEA DX,SOURCE ;数据区起始地址
LEA SI,NAME0 ;原始数据文件名
MOV CX,N ;字节数
CALL LOAD ;从'INPUT1.DAT'中读取数据
;****BEGIN****
;最大值放在BH中,最小值放在BL中
LEA SI,SOURCE
LEA ________RESULT
MOV BH,[SI] ;第一个字节既为最大值
MOV BL,BH ;又为最小值
MOV [DI],BH
ADD SI,____________
________________________
MOV CX,N-1
NEXT: MOV AL,[SI]
CMP AL,BH
________ CHKMIN
MOV BH,AL
JMP ENDL
CHKMIN: CMP AL,BL
JGE ENDL
MOV ________,AL
ENDL: MOV [DI],AL
ADD SI,1
ADD DI,1
LOOP NEXT
___________________________
___________________________
MOV [DI],_____________
;****END****
LEA DX,RESULT ;结果数据区首址
LEA SI,NAME1 ;结果文件名
MOV CX,2+N ;字节数
CALL SAVE ;保存结果到文件
RET
START ENDP
CODE ENDS
END START
第九十四题:
一、请编制程序,其功能是:内存中连续存放着20个无符号二进制字序列Xi(i=1,2,…20),字的最高3位为000,此序列对应某一信号在一段时间内的连续变化,现对该信号进行一阶低通数字滤波,其滤波方程为:
Yi=(15*Yi-1/16)+(Xi/16),Y0=00 Yi(i=1,2,…,20) 为滤波后得到的新序列,结果存入内存。
例如:
内存中有 01FFH,02FFH…
结果为 001FH,004DH…
部分程序已给出, 其中原始数据由过程LOAD从文件INPUT1.DAT中读入SOURCE开始的内存单元中。运算结果要求从RESULT开始存放,由过程SAVE保存到文件OUTPUT1.DAT中。
填空BEGIN和END之间已给出的一段源程序使其完整(空白已用横线标出,每行空白一般只需一条指令, 但采用功能相当的多条指令亦可),或删除BEGIN和END之间原有的代码并自行编程来完成要求的功能。
对程序必须进行汇编,并与IO.OBJ链接产生PROG1.EXE执行文件,最终运行程序产生结果(无结果或结果不正确者均不得分)。调试中若发现整个程序中存在错误之处, 请加以修改。
试题程序:
EXTRN LOAD:FAR,SAVE:FAR
N EQU 20
STAC SEGMENT STACK
DB 128 DUP(?)
STAC ENDS
DATA SEGMENT
SOURCE DW N DUP(?) ;顺序存放二十个字
RESULT DW 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
LEA DX,SOURCE ;数据区起始地址
LEA SI,NAME0 ;原始数据文件名
MOV CX,N ;字节数
CALL LOAD ;从'INPUT1.DAT'中读取数据
;****BEGIN****
LEA DI,RESULT
LEA SI,SOURCE
MOV CX,N
MOV BX,0
AGN0: MOV DX,______________
MOV AX,[SI]
PUSH CX
MOV CX,4
AGN1: SHR BX,1
SHR AX,1
LOOP AGN1
POP CX
________ AX,DX
________ AX,BX
MOV [DI],AX
__________________________
INC DI
__________________________
INC SI
__________________________
LOOP AGN0
;****END****
LEA DX,RESULT ;结果数据区首址
LEA SI,NAME1 ;结果文件名
MOV CX,N*2 ;字节数
CALL SAVE ;保存结果到文件
RET
START ENDP
CODE ENDS
END START
第九十五题:
一、请编制程序,其功能是:内存中存放着20个带符号8位二进制数进行处理。处理方法为:大于等于+64的数用ASCII字符’>’(3EH)表示;大于0小于+64的数用ASCII字符’ +’(2BH)表示;等于0的数用ASCII字符’0’(30H)表示;小于0大于-64的数用ASCII字符’-’(2DH)表示;小于等于-64的数用ASCII字符’ <’(3CH)表示。
例如:
内存中有 00H,01H,3FH,40H,41H,7EH,7FH,80H,FFH,C0H…(共20个字)
结果为 30H,2BH,2BH,3EH,3EH,3EH,3EH,3CH,2DH,3CH…(共20个字 |