查看全部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