频道栏目
首页 > 资讯 > PC技术 > 正文

2007年4月全国计算机等级考试三级PC上机试题

09-02-28        来源:[db:作者]  
收藏   我要投稿
试题1:
  〈三级PC南开100题〉的第五题
  一、请编制程序,其功能是:内存中从SOURCE开始连续存放着21个八位有符号数(补码),其相邻两数之间差值不超过-8至7。对这种变化缓慢的数据可采用差分方法进行压缩。即第一个数据不变,其后的数据取与前一数据的差值并用四位二进制补码表示,两个差值拼成一个字节,前一个差值放在高四位,后一个差值放在低四位。
  例如:
         原数据(X[n]):23H,27H,2AH,29H,22H…
  压缩后(Y[n]):23H,       43H,       F9H…
  编程按上述方法进行压缩,结果保存在RESULT开始的内存单元中。
      部分程序已给出, 其中原始数据由过程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       2*N+1 DUP(?)       
  RESULT   DB       N+1 DUP(0)       
  NAME0    DB       INPUT1.DAT,0
  NAME1    DB       OUTPUT1.DAT,0
  NDATA    DB       N DUP(0)
  PDATA    DB       N DUP(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
          MOV      ES,AX                ;置附加段寄存器
          LEA      DX,SOURCE            ;数据区起始地址
          LEA      SI,NAME0             ;原始数据文件名
          MOV      CX,2*N+1             ;字节数
          CALL     LOAD                 ;从INPUT1.DAT中读取数据
  ;****BEGIN****
          LEA      SI,SOURCE
          LEA      DI,RESULT
          CLD
          MOVSB                         ;Y[0]=X[0]
          XOR      BX,BX                ;FLAG=0
          MOV      DX,N*2               ;COUNTER
  COMPRESS:
    LODSB                         ;X[n]-X[n-1]
          SUB      _______________      ;FLAG=NOT FLAG
          ________________________
  J_______ LOW_HEX
          MOV      CL,4
          ________ AL,CL 
          MOV      AH,AL
          JMP      NEXT
  LOW_HEX:
  _________________________
          OR       AL,AH
          STOSB
  NEXT:   _________________________
          JNE      COMPRESS
  ;****END****
          LEA      DX,RESULT      ;结果数据区首址
          LEA      SI,NAME1       ;结果文件名
          MOV      CX,N+1         ;字节数
          CALL     SAVE           ;保存结果到文件
          RET
  START   ENDP
  CODE    ENDS
          END    START
  答案:5.(1)AL,[SI-2]
  (2)XOR BX,0FFH
  (3)Z
  (4)SHL
  (5)AND AL,0FH
  (6)DEC DX
相关TAG标签
上一篇:计算机等级考试三级数据库历年真题解析
下一篇:计算机等级考试三级网络重要词汇名词分析
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站