查看全部128种考试
计算机等级考试
 考试动态  报考指南  考试大纲  历年真题  模拟试题  复习资料  心得技巧 等考论坛
 二级 | VB  VF  C  C++  JAVA  ACCESS 三级 | 网络  数据库  信息管理  PC技术 四级 | 一级
1
2
3
4
5
6
7
8
9
10
ak48  
【字体: 全国等级考试三级PC技术上机编程题10道
全国等级考试三级PC技术上机编程题10道
djks.exam8.com 来源:考试吧Exam8.com) 更新:2005-3-30 12:42:00 计算机等级考试 考试论坛


第五套

===============================================================================
试题说明 :
===============================================================================

 请编制程序PROG1.ASM, 其功能是: 内存中连续存放着十六个
12位二进制数DB(11)DB(10)…DB(0), 每个二进制数均用两个字节表示,
其存放格式均为
DB(11)DB(10)DB(9)DB(8)DB(7)DB(6)DB(5)DB(4) DB(3)DB(2)DB(1)DB(0) 0 0 0 0
│←──低地址字节──→││←──高地址字节──→│
 请按序将每个12位二进制数转换成以下格式
DB(7)DB(6)DB(5)DB(4)DB(3)DB(2)DB(1)DB(0) 0 0 0 0 DB(11)DB(10)DB(9)DB(8)
│←─ 低地址字节──→││←───高地址字节──→│
转换结果按原序存放在内存中。
 例如:
 内存中有12H,30H(12位二进制数000100100011B(123H)按12H、
30H的形式顺序存放);04H,50H(12位二进制数000001000101B(45H)
按04H、50H的形式顺序存放); 61H,00H(12位二进制数
011000010000B(610H)按61H、00H的形式顺序存放;
 结果为 0123H,0045H,0610H,…
 部分程序已给出,其中原始数据由过程LOAD从文件INPUT1.DAT
中读入SOURCE开始的内存单元中。运算结果要求从RESULT开始存放,
由过程SAVE保存到OUTPUT1.DAT文件中。
 填空BEGIN和END之间已给出的源程序使其完整 (空白已用横线
标出,每行空白一般只需一条指令,但采用功能相当的多条指令亦
可), 或删除BEGIN和END之间原有的代码并自行编程来完成要求的
功能。
 对程序必须进行汇编, 并与IO.OBJ链接产生PROG1.EXE执行文
件,最终运行程序产生结果(无结果或结果不正确者均不得分)。调
试中若发现整个程序中存在错误之处,请加以修改。

===============================================================================
程序 :
===============================================================================

 EXTRN LOAD:FAR,SAVE:FAR
N EQU 16
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 BX,0
 MOV DI,OFFSET RESULT
 MOV CH,N
 MOV CL,__
PRO: MOV AX,_______________
 MOV DX,AX
 SHR DL,__ ; 12位无符号二进制数高八位右移
 SHR AH,__ ; 12位无符号二进制数低四位右移
 SHL AL,__ ; 12位无符号二进制数高八位左移
 OR __________ ; 新格式12位无符号二进制数低八位
 MOV AL,AH
 MOV AH,DL ; 新格式12位无符号二进制数高四位
 MOV BYTE PTR [DI],__
 MOV BYTE PTR [DI+1],__
 ADD DI,2
 ADD BX,2
 DEC CH
 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 F0 FF 00 F0 F0 0F F0 F0 00 0F 00 00 F0 00 00 00 50 05 00 50 00 0A A0 A0 A0 AA 00 AA A0 55 50
#E
@3 $output1.hex 001
00F00FF0F0F000FFFFF00FFFF0FFFFFFFAFFAFFFFFFA55FFF5F55FF555F5AAFA08
#E

第六套

===============================================================================
试题说明 :
===============================================================================

 请编制程序PROG1.ASM, 其功能是:内存中连续存放着十六个10
位无符号二进制数DB(9)DB(8)…DB(0),其存放格式均为
DB(9) DB(8) DB(7) DB(6) DB(5) DB(4) DB(3) DB(2) DB(1) DB(0) 0 0 0 0 0 0
│←─── 低地址字节 ───→││←──高地址字节──→│
 请判别这十六个10位二进制数是否小于等于200H;若小于等于
200H,则相应地在内存中存入01H;否则,存入00H。最后存放这十
六个10位二进制数中小于等于200H的10位无符号二进制数的个数n
(n用一个字节表示)。
 例如:
 内存中有 48H,C0H(10位二进制数0100100011B(123H)按48H、
C0H的形式顺序存放);91H,40H(10位二进制数1001000101B(245H)按
91H、40H的形式顺序存放);80H,00H(10位二进制数1000000000B
(200H)按80H、00H的形式顺序存放);…
 结果为 01H,00H,01H…(共十六个字节),后跟n
 部分程序已给出,其中原始数据由过程LOAD从文件INPUT1.DAT
中读入SOURCE开始的内存单元中。运算结果要求从RESULT开始存放,
由过程SAVE保存到OUTPUT1.DAT文件中。
 填空BEGIN和END之间已给出的源程序使其完整 (空白已用横线
标出,每行空白一般只需一条指令,但采用功能相当的多条指令亦
可), 或删除BEGIN和END之间原有的代码并自行编程来完成要求的
功能。
 对程序必须进行汇编, 并与IO.OBJ链接产生PROG1.EXE执行文
件,最终运行程序产生结果(无结果或结果不正确者均不得分)。调
试中若发现整个程序中存在错误之处,请加以修改。

===============================================================================
程序 :
===============================================================================

 EXTRN LOAD:FAR,SAVE:FAR
N EQU 16
STAC SEGMENT STACK
 DB 128 DUP (?)
STAC ENDS
DATA SEGMENT
SOURCE DW 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*2 ; 字节数
 CALL LOAD ; 从 'INPUT1.DAT'中读取数据
; **** BEGIN ****
 MOV DI,OFFSET RESULT
 MOV CH,N
 MOV CL,___
 MOV BX,0
 MOV DX,0100H
PRO: MOV AH,BYTE PTR SOURCE[BX] ; 10位无符号二进制数高八位
 MOV AL,______________________ ; 10位无符号二进制数低二位
 CMP AX,_____
 JNBE C_0
 MOV [DI],__
 INC __
 INC DI
 JMP JUMP
C_0: MOV [DI],DL
 __________________
JUMP: ADD BL,2
 DEC CH
 JNZ PRO
 MOV [DI],CL
; **** END ****
 LEA DX,RESULT ; 结果数据区首址
 LEA SI,NAME1 ; 结果文件名
 MOV CX,N+1 ; 结果字节数
 CALL SAVE ; 保存结果到文件
 RET
START ENDP
CODE ENDS
END START

===============================================================================
所需数据 :
===============================================================================

@2 input1.dat 001
FF C0 80 00 80 40 7F C0 FF 00 FA 40 FA 80 AA 40 CD 40 11 C0 00 00 31 80 31 40 66 40 66 C0 33 40
#E
@3 $output1.hex 001
FFFEFFFEFFFFFFFFFFFEFEFEFEFEFEFEF612
#E

上一页  [1] [2] [3] [4] [5] 下一页

转帖于:计算机等级考试_考试吧
文章搜索  
看了本文的网友还看了:
计算机等级考试权威辅导教材: 订书电话:010-62168566  更多>>>
网友评论
昵 称: *  评 分: 1分 2分 3分 4分 5分
标题:   匿名发表    (共有条评论)查看全部评论>>
版权声明 -------------------------------------------------------------------------------------
  如果计算机等级考试网所转载内容不慎侵犯了您的权益,请与我们联系,我们将会及时处理。如转载本计算机等级考试网内容,请注明出处。
关于本站  网站声明  广告服务  联系方式  付款方式  站内导航  客服中心  友情链接  考试论坛  网站地图
Copyright © 2004-2008 考试吧计算机等级考试网 All Rights Reserved    
中国科学院研究生院权威支持(北京) 电 话:010-62168566 传 真:010-62192699
百度大联盟黄金认证  十佳网络教育机构  经营许可证号:京ICP060677