计算机等级考试三级含金量_计算机等级考试三级PC上级题汇总1-5
【shitiku.jxxyjl.com--等级考试】
PC上机题之一
;* 请编制程序PROG1.ASM, 其功能是: 内存中连续存放的二十
;* 个八位有符号数(补码)是由一个八位A/D转换器采集的双极性信
;* 号(Xn), 现要求对该信号作如下限幅处理 (处理后的信号记为
;* Yn):
;* a). Yn= -100 Xn<-100
;* b). Yn= Xn │Xn│<=100
;* c). Yn= 100 Xn>100
;* 例如:
;* Xn: 67H,61H,8EH,38H,...
;* Yn: 64H,61H,9CH,38H,...
;* 部分程序已在PROG1.ASM中给出, 请填空BEGIN和END之间已给
;* 出的源程序使其完整(空白已用横线标出, 每行空白一般只需一条
;* 指令, 但功能相当的多条指令亦可)或删除BEGIN和END之间原有的
;* 代码并自行编写程序片段来完成要求的功能。
;* 原始数据由过程LOAD从文件INPUT1.DAT中读入SOURCE开始的内
;* 存单元中, 结果要求从RESULT开始存放, 由过程SAVE保存到文件
;* OUTPUT1.DAT中。
;* 对程序必须进行汇编, 并与IO.OBJ链接产生PROG1.EXE 执行文
;* 件, 最终运行程序产生结果(无结果或结果不正确者均不得分)。
EXTRN LOAD:FAR,SAVE:FAR
N EQU 20
MAX_VAL EQU 100
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 SI,SOURCE
LEA DI,RESULT
mov cx,N
;____________________
NEXT: MOV AL,[SI]
CMP AL,-MAX_VAL
jl LESS
;J__ LESS
CMP AL,MAX_VAL
jl store
;______________________
MOV AL,MAX_VAL
JMP STORE
LESS: MOV AL,-MAX_VAL
STORE: MOV [DI],AL
inc si
inc di
loop next
;______________________
;______________________
;______________________
; **** END ****
LEA DX,RESULT ; 结果数据区首址
LEA SI,NAME1 ; 结果文件名起始地址
MOV CX,N ; 字节数
CALL SAVE ; 保存结果到"output1.dat"文件中
RET
START ENDP
CODE ENDS
END START
input1.dat 内容如下:
1C 65 7F 72 63 56 D3 99 D9 39 75 83 C8 2D 61 7E 43 8E 6C 61
output1.dat 内容应当如下:
1C 64 64 64 63 56 D3 9C D9 39 64 9C C8 2D 61 64
43 9C 64 61
PC上机题之二
io.obj 与以前几次考试的相同
以下内容为程序代码:
;* 请编制程序PROG1.ASM, 其功能是: 内存中连续存放着10个用
;* ASCII码表示的十进制个位数,将它们转换成相应的二进制无符号
;* 字节N0, N1,…, N9, 并统计N0, N1,…, N9中大于等于5的十进制
;* 数的个数n。转换结果按原序存放,之后存放n(n用字节表示)。
;* 例如:
;* 内存中有 30H("0"),39H("9"),31H("1"), …
;* 结果为 00H,09H,01H,…,(后跟n,n为N0,N1,…, N9中大于
;* 等于5的十进制数的个数)
;* 部分程序已给出,其中原始数据由过程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+1 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 ****
MOV DI,OFFSET RESULT
MOV BX,0
MOV CX,N
mov dl,0
;MOV DL,__
PRO: MOV AL,[BX]
sub al,30h
;SUB AL,___
CMP AL,05
jl jump
inc dl
;__ JUMP ; 小于5
;INC __ ; 大于等于5
JUMP: MOV [DI],AL
INC BX
INC DI
DEC CX
JNZ PRO
mov [di],dl
;_______________
; **** END ****
LEA DX,RESULT ; 结果数据区首址
LEA SI,NAME1 ; 结果文件名
MOV CX,N+1 ; 结果字节数
CALL SAVE ; 保存结果到文件
RET
START ENDP
CODE ENDS
END START
input1.dat 内容如下:
30 39 31 38 32 37 33 36 34 35
output1.dat 内容应当如下:
00 09 01 08 02 07 03 06 04 05 05
上机题之三
以下内容为程序代码:
;* 请编制程序PROG1.ASM,其功能是:
;* 对内存中存放的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个ASCII码)
;* 部分程序已给出, 其中原始数据由过程LOAD从文件INPUT1.DAT
;* 中读入SOURCE开始的内存单元中。运算结果要求从RESULT开始存放,
;* 由过程SAVE保存到文件OUTPUT1.DAT中。
;* 请在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 ****
LEA SI,SOURCE
LEA DI,RESULT
mov cx,N
NEXT: MOV AL,[SI]
CMP AL,0
jl fu
jg zheng
mov al,30h
jmp store
fu: CMP AL,-64
jle less
mov al,2dh
jmp store
less: mov al,3ch
jmp store
zheng: cmp al,64
jge great
mov al,2bh
jmp store
great: mov al,3eh
STORE: MOV [DI],AL
inc si
inc di
dec cx
jne next
; **** END ****
LEA DX,RESULT ; 结果数据区首址
LEA SI,NAME1 ; 结果文件名
MOV CX,N ; 结果字节数
CALL SAVE ; 保存结果到文件
RET
START ENDP
CODE ENDS
END START
input1.dat 内容如下:
C0 FF 80 7F FE 41 40 3F 01 00 00 01 3F 40 41 FE 7F 80 FF C0
output1.dat 内容应当如下:
3C 2D 3C 3E 2D 3E 3E 2B 2B 30 30 2B 2B 3E 3E 2D
3E 3C 2D 3C
上机题之四
以下内容为程序代码:
;* 请编制程序PROG1.ASM, 其功能是: 内存中连续存放的二十个八
;* 位无符号数是一个自动抄表仪抄录的二十个用户某月的用水量(立方
;* 米),为了控制用水量,水费计算公式如下(X表示用水量; Y表示水费,
;* 单位为分):
;* a). Y= X*70 X<=10
;* b). Y= 10*70+(X-10)*120 X>10
;* 例如:
;* 用水量(X): 04H, 0FH, 18H,...
;* 水费( Y ): 0118H,0514H,094CH,...
;* 试计算出这二十个用户应缴纳的水费, 结果用字(word)表示。
;* 部分程序已在PROG1.ASM中给出, 请填空BEGIN和END之间已给
;* 出的源程序使其完整(空白已用横线标出, 每行空白一般只需一条
;* 指令, 但功能相当的多条指令亦可)或删除BEGIN和END之间原有的
;* 代码并自行编写程序片段来完成要求的功能。
;* 原始数据由过程LOAD从文件INPUT1.DAT中读入SOURCE开始的内
;* 存单元中, 结果要求从RESULT开始存放, 由过程SAVE保存到文件
;* OUTPUT1.DAT中。
;* 对程序必须进行汇编, 并与IO.OBJ链接产生PROG1.EXE 执行文
;* 件, 最终运行程序产生结果(无结果或结果不正确者均不得分)。
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 "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 SI,SOURCE
LEA DI,RESULT
CLD
MOV CX,N
MOV BL,RATE1
MOV BH,RATE2
NEXT: mov al,[si]
;_________________________
CMP AL,DELTA
ja great
;J__ GREAT
MUL BL
JMP STORE
GREAT: sub ax,delta
;_________________________
MUL BH
add ax,delta*rate1
;_________________________
STORE: mov [di],ax
add di,2
;_________________________
;_________________________
INC SI
LOOP NEXT
; **** END ****
LEA DX,RESULT ; 结果数据区首址
LEA SI,NAME1 ; 结果文件名起始地址
MOV CX,N*2 ; 字节数
CALL SAVE ; 保存结果到"output1.dat"文件中
RET
START ENDP
CODE ENDS
END START
input1.dat 内容如下:
05 03 0A 22 0C 03 04 05 19 0C 0B 04 03 11 10 01 15 83 0F 0A
output1.dat 内容应当如下:
5E 01 D2 00 BC 02 FC 0D AC 03 D2 00 18 01 5E 01
C4 09 AC 03 34 03 18 01 D2 00 04 06 8C 05 46 00
E4 07 74 3B 14 05 BC 02
上机题之五
以下内容为程序代码:
;* 请编制程序PROG1.ASM, 其功能是: 计算10×3矩阵中每一行元
;* 素(八位二进制数)之和, 并将其存放在指定的内存区中。
;* 例如:
;* 内存中有 0,0,0(第1行),1,1,1(第2行),.....,9,9,9(第10行)
;* 结果为 0000H,0003H,...,001BH
;* 部分程序已经给出,其中原始数据由过程LOAD从文件INPUT1.DAT
;* 中读入SOURCE开始的内存单元中, 转换结果要求从RESULT开始存放,
;* 由过程SAVE保存到文件OUTPUT1.DAT中。
;* 填空BEGIN和END之间已经给出的一段源程序使其完整,填空处已
;* 经用横线标出, 每个空白一般只需要填一条指令或指令的一部分(指
;* 令助记符或操作数), 考生也可以填入功能相当的多条指令, 或删去
;* BEGIN和END之间原有的代码并自行编程来完成要求的功能。
;* 对程序必须进行汇编,并与IO.OBJ链接产生PROG1.EXE执行文件,
;* 最终运行程序产生结果(无结果或结果不正确者均不得分)。
EXTRN LOAD:FAR,SAVE:FAR
N EQU 30
DSEG SEGMENT
SOURCE DB N DUP(?)
RESULT DW N/3 DUP(0)
I EQU 10
J EQU 3
NAME0 DB "INPUT1.DAT",0
NAME1 DB "OUTPUT1.DAT",0
DSEG ENDS
SSEG SEGMENT STACK
DB 256 DUP (?)
SSEG ENDS
CSEG SEGMENT
ASSUME CS:CSEG,SS:SSEG,DS: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 ***
LEA SI,SOURCE
LEA DI,RESULT
MOV BX,1
LPI: MOV DX,0
MOV CX,1
LPJ: MOV AL,[SI]
mov ah,0
;_______________
ADD DX,AX
inc si
;INC __
INC CX
cmp cx,J
;CMP CX,__
JBE LPJ
mov [di],dx
add di,2
;MOV [DI],___
;ADD DI,_____
INC BX
CMP BX,I
JBE LPI
; *** END ***
LEA DX,RESULT
LEA SI,NAME1
MOV CX,N*2/3
CALL SAVE
RET
START ENDP
CSEG ENDS
END START
input1.dat 内容如下:
010101020202030303040404050505060606070707080808090909101010
output1.dat 内容应当如下:
03 00 06 00 09 00 0C 00 0F 00 12 00 15 00 18 00
1B 00 30 00
相关试题
- 全国计算机等级考试三级难度|2002年全国计算机等级考试三级笔试样题(数据库技术)
- 2000年4月20日是什么星座_2000年4月 三级(A)笔试试卷
- [1999年4月20日是什么星座]1999年4月 全国计算机等级考试二级笔试试题 基础部分和BASIC语言程序设计
- [全国计算机等级考试三级难度]2002年全国计算机等级考试三级笔试样题(网络技术)
- 2000年9月9日农历是多少_2000年9月 二级笔试试题BASIC
- 1999年9月_1999年9月 全国计算机等级考试二级笔试试题 基础部分和PASCAL语言程序设计
- [2000年9月9日农历是多少]2000年9月 二级笔试PASCAL语言试题
- 1999年4月20日是什么星座_1999年4月 全国计算机等级考试二级笔试试题 基础部分与Fortran程序设计
- 【1999年4月20日是什么星座】1999年4月 全国计算机等级考试一级笔试试卷 WINDOWS
- 【1999年4月20日是什么星座】1999年4月 全国计算机等级考试一级笔试试卷 DOS
-
2005年正月17_2005年9月17二级C笔试试题答案详细阅读
选择题01-05)CACDC 06-10)DAABB11-15)ACBBA 16-20)CCDAB21-25)DCABC 26-30)DDABD31-35)BCCBA 36-40)DCCAD41-45)ADBAC 46-50)DABAD填空题1 数据库系统阶段2 空间3...
-
[计算机等级考试三级含金量]计算机等级考试三级PC上级题精选21-25详细阅读
上机题之21以下内容为程序代码:;* 请编制程序PROG1 ASM,其功能是:内存中连续存放着十个无符;* 号8位二进制数,现将此十个数转换成十个8位格雷码表示的数,结果;* 存入内存。其转换方法为格雷码的最高位g[7]与二进制数的最高位d[7];* 相同, 格雷码的其余七位g[k]...
-
2006年二级建造师网上可查询吗|2006年二级VF笔试答案(含试题)详细阅读
visual foxpro数据库程序设计(考试时间90分钟,满分100分)一、选择题((1)~(35)每小题2分,共70分)下列各题a)、b)、c)、d)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。(1)数据的存储结构是指a) 存储在外存中的数据b) 数据...
-
2005年九月三_2005年9月17三级网络技术笔试试题答案详细阅读
选择题:01-05)DCABD 06-10)BBDCA11-15)BCABD 16-20)CABAD21-26)ADBCC 26-30)BADCB31-35)CBDBD 36-40)CCBBA41-45)DDABA 46-50)BCCBD51-55)CDDCA 56-60)A...
-
全国计算机等级考试二级c语言历年真题_2005年全国计算机等级考试二级C语言真题3详细阅读
第3页 (45)有以下程序point(char *p){ p+=3;}main(){ char b[4]={a,b,c,d},*p=b; point(p); printf(%c n,*p);}程序运行后的输出结果是 AA)aB)...
-
[公共基础模拟题及答案]二级公共基础模拟题第三套试题详细阅读
(1)栈和队列的共同特点是A)都是先进先出B)都是先进后出C)只允许在端点处插入和删除元素 D)没有共同点(2)已知二叉树后序遍历序列是dabec,中序遍历序列是debac,它的前序遍历序列是A)acbedB)decabC)deabcD)cedba(3)链表不具有的特点是A)不必事先估...
-
2005年9月二十四午时|2005年9月二级VB笔试真正标准答案详细阅读
选择题【 1- 5】 CACDC 【 6-10】 DAABB 【11-15】 BCCDC 【16-20】 CABBA 【21-25】 DAADC 【26-30】 ADBAC 【31-35】 CCDAB 填空题【1】数据库系统 【2】空间...
-
全国计算机等级考试二级c语言历年真题|2005年全国计算机等级考试二级C语言真题2详细阅读
第2页 (29)有以下程序main(){ int a[3][3],*p,i; p=&a[0][0]; for(i=0;i...
-
[计算机等级考试一级考试题目]计算机等级考试一级B考试自测题详细阅读
1 现代微型机中采用的主要元件是()。 A)电子管 B)晶体管 C)中、小规模集成电路 D)大规模、超大规模集成电路 正确答案:D 2 计算机之所以能按人们的意志自动进行工作,主要是因为采用了()。 A)二进制数制 B)高速电子元件 C)存储程序控制 D)程序设计语言 正确答案:C 3 下列...
-
计算机等级考试三级含金量_计算机等级考试三级PC上级题精选11-15详细阅读
PC上机题之11以下内容为程序代码:;* 请编制程序PROG1 ASM,其功能是:内存中连续存放着二十个;* ASCII字符,如果是0~9或A~F之间的字符,请把它们转换成二进制;* 数;若为其他字符,不作转换。;* 例如:;* 内存中有;* 30H(...