网站首页 考研英语 考研政治 考研数学 考研真题 中考 高考 自考 英语 计算机 公务员 求职 留学 校园
考研词汇 | 阅读理解 | 考研作文 | 听力翻译 | 英语复习 | 时事政策 | 政治复习 | 政治题库 | 政治笔记 | 高等数学 | 线性代数
数学复习 | 数学题库 | 英语真题 | 数学真题 | 政治真题 | 专业真题 | 中考作文 | 中考试题 | 高考作文 | 高考志愿 | 高考语文
自考试题 | 自考指南 | 英语四级 | 英语六级 | 四级作文 | 六级作文 | 留学政策 | 海外生活 | 签证面试 | 留学故事 | 旅游签证
成人高考 | 会计职称 | 执业医师 | 工程硕士 | 法律硕士 | 金融英语 | 职称英语 | 司法考试 | 律师考试 | 注册会计 | 雅思 | 托福 | 证券
 当前位置:首页>>计算机等级考试>>计算机等级考试三级>>全国计算机等级考试三级PC技术上机编程题10道(1)

全国计算机等级考试三级PC技术上机编程题10道(1)

来源:www.stu88.com 时间:2006-01-08
第一套
 ===============================================================================
 试题说明 :
 ===============================================================================
  请编制程序PROG1.ASM,其功能是:内存中连续存放着二个无
 符号字节序列A(k)和B(k)(k=0,…,9;下同),求序列C(k),C(k)=A(k)+B(k)。
 C(k)以字的形式按C(0),…,C(9)的顺序连续存放。
  例如:
  序列A(k)为30H,31H,61H,FFH,…;
  序列B(k)为00H,01H,F1H,0AH,…。
  则结果C(k)为0030H,0032H,0152H,0109H,…。
  部分程序已给出, 其中原始数据由过程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*2 DUP(?) ; 顺序存放A0,…,A9,B0,…,B9
 RESULT DW N DUP(0) ; 顺序存放C0,…,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,___________
  MOV BX,__
  ___________________
 PRO: MOV AH,0
  MOV AL,SOURCE[BX+10] ; 序列Bk中的一个字节
  __________________________ ; Ck=Bk+Ak
  JNC JUMP ; 无进位转JUMP
  __________________ ; 有进位,进位入AH 
 JUMP: MOV [DI],AX ; Ck=Bk+Ak的字的形式存入RESULT
  INC BX
  ________________
  DEC CX
  JNZ PRO
 ; **** END ****
  LEA DX,RESULT ; 结果数据区首址
  LEA SI,NAME1 ; 结果文件名
  MOV CX,N*2 ; 结果字节数
  CALL SAVE ; 保存结果到文件
  RET
 START ENDP
 CODE ENDS
 END START
 ===============================================================================
 所需数据 :
 ===============================================================================
 @2 input1.dat 001
 FF 80 7F 00 7F 80 FF 80 81 00 FF FF 80 00 81 00 00 81 FE FF
 #E
 @3 $output1.hex 001
 01FE80FE00FFFFFFFFFE7FFF00FFFEFE80FE00FF7F
 #E
 
 第二套
 ===============================================================================
 试题说明 :
 ===============================================================================
  请编制程序PROG1.ASM, 其功能是: 内存中连续存放着二个有
 符号字节序列A(k)和B(k)(k=0,…,9;下同),求序列C(k),C(k)=A(k)-B(k)。
 C(k)以有符号字的形式按C(0),…,C(9)的顺序连续存放。
  例如:
  序列A(k)为30H,80H(-128D),7FH(127D),…;
  序列B(k)为00H,7FH(127D),80H(-128D),…。
  则结果C(k)为0030H,FF01H,00FFH,…。
  部分程序已给出,其中原始数据由过程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*2 DUP(?) ; 顺序存放A0,…,A9,B0,…,B9
 RESULT DW N DUP(0) ; 顺序存放C0,…,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 ****
  LEA DI,RESULT ; 结果从RESULT开始存放
  MOV CX,N
  MOV BX,0
  MOV AH,0
 PRO: MOV AL,SOURCE[BX] ; 序列Ak中的一个字节
  MOV DH,AL
  ___________________ ; Ck=Ak-Bk
  JNO STAY ; 无溢出转STAY
  ADD DH,0 ; 有溢出
  ___ DEC1 ; Ak为正数(为一个正数减去一个负
  ; 数,结果为负数的溢出情况)转DEC1
  MOV AH,____ ; Ak为负数(为一个负数减去一个正
  ; 数,结果为正数的溢出情况)将结果
  ; 变为有符号字的形式(为负)
  JMP _____
 DEC1: MOV AH,00H ; 将结果变为有符号字的形式(为正)
  JMP _____
 STAY: ____ ; AL中数的符号扩展到AH,正的字节
  ; 变成正的字,负的字节变成负的字
 JUMP1: MOV [DI],AX
  ADD DI,2
  INC BX
  DEC CX
  JNZ PRO
 ; **** END ****
  LEA DX,RESULT ; 结果数据区首址
  LEA SI,NAME1 ; 结果文件名
  MOV CX,N*2 ; 结果字节数
  CALL SAVE ; 保存结果到文件
  RET
 START ENDP
 CODE ENDS
 END START
 ===============================================================================
 所需数据 :
 ===============================================================================
 @2 input1.dat 001
 80 C0 81 00 7F 40 3F 7F C0 81 7F 40 7F 00 7F 3F 40 80 81 9C
 #E
 @3 $output1.hex 001
 FE007F00FD00FFFFFFFFFEFF000000FFC0FF1A00A1
 #E
 
 第三套
 ===============================================================================
 试题说明 :
 ===============================================================================
  请编制程序PROG1.ASM, 其功能是: 内存中连续存放着二个无
 符号字节序列A(k)和B(k)(k=0,…,9;下同),求序列C(k),C(k)=A(k)×B(k)。
 C(k)以字的形式按C(0),…,C(9) 的顺序连续存放。
  例如:
  序列A(k)为FFH,80H,7FH,00H,…;
  序列B(k)为FFH,80H,01H,02H,…。
  则结果C(k)为FE01H,4000H,007FH,0000H,…。
  部分程序已给出,其中原始数据由过程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*2 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 **** 
  ________________,OFFSET RESULT 
  MOV BX,0
  _________________
 PRO: ________________,SOURCE[BX+N]
  ________________
  MOV [DI],AX
  ADD DI,2
  INC BX
  _______________
  JNZ PRO
 ; **** END **** 
  LEA DX,RESULT ; 结果数据区首址
  LEA SI,NAME1 ; 结果文件名
  MOV CX,N*2 ; 结果字节数
  CALL SAVE ; 保存结果到文件
  RET
 START ENDP
 CODE ENDS
 END START
 ===============================================================================
 所需数据 :
 ===============================================================================
 @2 input1.dat 001
 FF 80 7F 00 01 80 FF 80 01 00 FF 80 01 02 00 FF FF 03 FF FF
 #E
 @3 $output1.hex 001
 FE01FFBF80FFFFFFFFFF7F80FE017FFE00FFFFFF3C
 #E
 
 第四套
 ===============================================================================
 试题说明 :
 ===============================================================================
  请编制程序PROG1.ASM, 其功能是: 内存中连续存放着二个有
 符号字节序列A(k)和B(k)(k=0,…,9;下同),求序列C(k),C(k)=A(k)÷B(k)。
 运算结果按序以字的形式连续存放(低字节为商,高字节为余数)。
  例如:
  序列A(k)为FFH(-1D), 81H(-127D),C0H(-64D),80H(-128D),…;
  序列B(k)为81H(-127D),40H(64D),81H(-127D),01H(1D),…。
  则结果C(k)为FF00H(00H(0D)为商、FFH(-1D)为余数),C1FFH,
 C000H,0080H,…。
  部分程序已给出,其中原始数据由过程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*2 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 DI,___________
  MOV CX,N
 PRO: MOV AL,____________
  ____ ; AL中数的符号扩展到AH,正的字节
  ; 变成正的字,负的字节变成负的字
  _____ SOURCE[BX+N]
  MOV ____,AX
  ADD DI,2
  INC BX
  DEC CX
  JNZ PRO
 ; **** END **** 
  LEA DX,RESULT ; 结果数据区首址
  LEA SI,NAME1 ; 结果文件名
  MOV CX,2*N ; 结果字节数
  CALL SAVE ; 保存结果到文件
  RET
 START ENDP
 CODE ENDS
 END START
 ===============================================================================
 所需数据 :
 ===============================================================================
 @2 input1.dat 001
 FF 81 C0 80 00 80 40 7F 20 7F 81 40 81 01 7F 80 C0 81 01 7F
 #E
 @3 $output1.hex 001
 FF00003EFF3F7FFFFFFFFEFF00FF00FFDFFFFEFF1F
 #E
 

共2页: 1 [2]


下一篇:2004年全国计算机等级考试三级C语言全真上机试题解析

[编辑:煮酒论剑] [打印本页] [返回顶部↑]
相关文章
  ·计算机等级考试三级(C语言)上机考试试题总结  (2006-01-08)
·全国计算机等级考试三级信息、网络、数据库上机编程题15道  (2006-01-08)
·2004年9月全国计算机等级考试三级(PC技术)笔试试卷  (2006-01-08)
·2004年9月全国计算机等级考试三级(网络技术)笔试试卷  (2006-01-08)
·2004年9月全国计算机等级考试三级(信息管理技术)笔试试卷  (2006-01-08)
·2004年9月全国计算机等级考试三级(数据库技术)笔试试卷  (2006-01-08)
·2004年4月全国计算机等级考试三级(PC技术)笔试试卷  (2006-01-08)
·2004年4月全国计算机等级考试三级(网络技术)笔试试卷  (2006-01-08)
·2004年4月全国计算机等级考试三级(信息管理技术)笔试试卷  (2006-01-08)
 
今日推荐
分类栏目
热点文章
·2006年4月全国计算机等级
·2005全国计算机等级考试
·2006年4月计算机等级考试
·2004年9月全国计算机等级
·全国计算机等级考试三级
·计算机等级考试三级(C语
·2004年4月全国计算机等级
·2003年9月全国计算机等级
·2003年4月全国计算机等级
·2004年9月全国计算机等级
·2004年4月全国计算机等级
·2004年全国计算机等级考
微软认证 | 思科认证 | 电子商务 | 驾照考试 | 报关考试 | 报检考试 | 在职硕士 | 教育硕士 | 城市规划 | 秘书 | 导游 | 护士 | 药师
友情链接 | 网站地图| 免责声明
Copyright ® stu88.com中国学习考试网® 版权所有