• 网络学院
  • IT资讯
  • 操作系统
  • 网络技术
  • 软件应用
  • 办公软件
  • 编程技术
  • 网站架设
  • 数据库类
  • 平面设计
  • 多媒体类
  • 游戏资讯
  • 教学论文
  • 认证考试
计算机等级考试三级PC上级题精选21-30
  站点:
  • 首 页
  • 最新软件
  • 文章教程
  • 国内软件
  • 国外软件
  • 绿色软件
  • 源码下载
  • 字体下载
计算机等级考试三级PC上级题精选21-30
软件发布 计算机等级考试三级PC上级题精选21-30
网络软件 系统工具 应用软件 联络聊天 图形图像 多媒体类 行业软件 游戏娱乐 编程开发 安全相关 教育教学 数码软件 绿软下载
热门软件: QQ 瑞星 pplive e话通 木马克星 千千静听 office2000 五笔字根 Photoshop 视频分割
返回文章教程首页 >> 认证考试 >> 计算机等级考试 >> 计算机等级考试动态 >> 计算机等级考试三级PC上级题精选21-30

计算机等级考试三级PC上级题精选21-30

添加时间: 2007-5-25 6:11:48  作者: 计算机等级考试认证参考  阅读次数:31   来源: http://www.d9soft.com

       

上机题之21 
以下内容为程序代码: 

    请编制程序PROG1.ASM,其功能是:内存中连续存放着十个无符号8位二进制数,现将此十个数转换成十个8位格雷码表示的数,结果存入内存。其转换方法为格雷码的最高位g[7]与二进制数的最高位d[7]相同, 格雷码的其余七位g[k] (k=6,…,0) 分别为二进制数的位d[k+1](k=6,…,0)与位d[k] (k=6,…,0) 异或的结果。  
      例如:  
     内存中有  00H,02H,32H,45H,08H,19H,67H,03H,90H,85H结果为    00H,03H,2BH,67H,0CH,15H,54H,02H,D8H,C7H部分程序已给出, 其中原始数据由过程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 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        DI,RESULT 
           LEA        SI,SOURCE 
           MOV        CX,10 
AGN0:      MOV        AL,[SI] 
           push       cx 
           ;_______________ 
           MOV        CX,8 
           MOV        BX,0 
AGN1:      MOV        AH,0 
           shl        bl,1 
           ;___        BL,1 
           ROL        AL,1  ; 老王注: 此处其实用 rcl 较好, 用 rol 有迷惑考生之意 
           rcl        ah,1  ; 老王注: 此处不可用 rol 
           ;_______________ 
           CMP        AH,BH 
           jne        set_one 
           ;___        SET_ONE 
           JMP        NEXT 
SET_ONE:   OR         BL,01H

NEXT:      mov        bh,ah 
           ;MOV        __,AH 
           LOOP       AGN1 
           pop        cx 
           ;_______________ 
           MOV        [DI],BL 
           INC        SI 
           INC        DI 
           LOOP       AGN0  
  ****  END  **** 
           LEA         DX,RESULT         ; 结果数据区首址 
           LEA         SI,NAME1          ; 结果文件名 
           MOV         CX,N              ; 结果字节数 
           CALL        SAVE              ; 保存结果到文件 
           RET 
START      ENDP 
CODE       ENDS 
END        START 

  


input1.dat 内容如下: 
A0 88 56 3D 02 D3 90 78 23 E8 
output1.dat 内容应当如下: 
F0 CC 7D 23 03 BA D8 44 32 9C 


上机题之22 
以下内容为程序代码: 

      请编制程序PROG1.ASM, 其功能是: 内存中从SOURCE开始连续存放着二十一个八位有符号数(补码),其相邻两数之间差值不超过-8至7。对这种变化缓慢的数据可采用差分方法进行压缩。即第一个数据不变,其后的数据取与前一数据的差值并用四位二进制补码表示, 两个差值拼成一个字节, 前一个差值放在高四位,后一个差值放在低四位。  
      例如:  

          原数据(X[n]): 23H,27H,2AH,29H,22H,...压缩后(Y[n]): 23H,    43H,    F9H,...编程按上述方法进行压缩, 结果保存在RESULT开始的内存单元中。  
      部分程序已在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        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 
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 
           sub        al,[si-2] 
           xor        bx,1 
           jz         low_hex 
           ;SUB        _________                 ; X[n]-X[n-1] 
           ;____________________                 ; FLAG=NOT FLAG 
           ;J__        LOW_HEX 
           MOV        CL,4 
           shl        al,cl 
           ;___        AL,CL 
           MOV        AH,AL 
           JMP        NEXT 
LOW_HEX:   and        al,0fh 
           ;__________________ 
           OR         AL,AH

           STOSB 
NEXT:      dec        dx 
           ;___________________ 
           JNE        COMPRESS 

  ****  END  **** 
           LEA        DX,RESULT    ; 结果数据区首址 
           LEA        SI,NAME1     ; 结果文件名起始地址 
           MOV        CX,N+1       ; 字节数 
           CALL       SAVE         ; 保存结果到"output1.dat"文件中 
           RET 
START      ENDP 
CODE       ENDS 
           END        START 

  


input1.dat 内容如下:[b] 
17 1B 1E 24 29 2D 2A 25 20 27 2C 2F 34 37 33 31 36 3C 3F 39 33 
[b]output1.dat 内容应当如下: 
17 43 65 4D BB 75 35 3C E5 63 AA 

上机题之23 
以下内容为程序代码: 

      请编制程序PROG1.ASM, 其功能是: 内存中连续存放着十六个10位二进制数DB9 DB8 … DB0,每个二进制数均用两个字节表示,其存放格式均为DB9 DB8 DB7 DB6 DB5 DB4 DB3 DB2    DB1 DB0 0  0  0  0  0  0  
  │←─── 低地址字节 ───→│  │←──高地址字节──→│  

      请按序将每个10位无符号二进制数转换成以下格式DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0   0  0  0  0  0  0  DB9 DB8  
  │←─── 低地址字节───→│   │←──高地址字节──→│ 
转换结果按原序存放在内存中。 
例如:  
     内存中有 C048H,4091H,0080H,……结果为 23H,01H,45H,02H,00H,02H,……部分程序已给出,其中原始数据由过程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*2 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       BX,0

            MOV       CH,N 
PRO:        MOV       AH,BYTE PTR SOURCE[BX] 
            mov       al,byte ptr source[bx+1] 
            ;MOV       AL,________________ 
            MOV       DL,AH             ; 10位无符号二进制数高八位 
            MOV       DH,AL             ; 10位无符号二进制数低二位 
            MOV       CL,2 
            shl       ax,cl 
            ;SHL       AX,__ 
            shl       dx,cl 
            ;SHL       DX,__ 
            MOV       AL,DH 
            mov       [di],ah 
            mov       [di+1],al 
            ;MOV       [DI],__ 
            ;MOV       [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 

  


input1.dat 内容如下: 
FF C0 F0 C0 FF 80 FF 40 FF 00 FA 40 FA 80 AA 40 CD 40 11 C0 00 00 31 80 31 40 66 40 66 C0 33 40 
output1.dat 内容应当如下: 
FF 03 C3 03 FE 03 FD 03 FC 03 E9 03 EA 03 A9 02 35 03 47 00 00 00 C6 00 C5 00 99 01 9B 01 CD 00 

上机题之24 
以下内容为程序代码: 

      请编制程序PROG1.ASM, 其功能是: 内存中连续存放着五个用压缩型(组合型)BCD码表示的十进制数,请将它们分别转换成ASCII 字符,高位的BCD码转换后放在较高的地址单元。  
 
  
 
       31H(’1’),32H(’2’),33H(’3’),34H(’4’),...(共十个字节)  
     部分程序已给出,其中原始数据由过程LOAD从文件INPUT1.DAT中读入SOURCE开始的内存单元中。 运算结果要求从RESULT开始存放, 由过程SAVE保存到文件OUTPUT1.DAT中。填空BEGIN和END之间已给出的源程序使其完整(空白已用横线标出,每行空白一般只需一条指令,但采用功能相当的多条指令亦可),或删除BEGIN和END之间原有的代码并自行编程来完成要求的功能。  
      对程序必须进行汇编, 并与IO.OBJ链接产生PROG1.EXE执行文件,最终运行程序产生结果 (无结果或结果不正确者均不得分)。  调试中若发现整个程序中存在错误之处,请加以修改。 

          EXTRN      LOAD:FAR,SAVE:FAR 
N         EQU         5 
STAC      SEGMENT   STACK 
           DB          128 DUP (?) 
STAC      ENDS 
DATA     SEGMENT 
SOURCE   DB          N DUP(?) 
RESULT   DB          N*2 DUP(0) 
NAME0    DB          ’INPUT1.DAT’,0 
NAME1    DB          ’OUTPUT1.DAT’,0 
DATA     ENDS 
CODE     SEGMENT 
           ASSUME    CS:CODE,DS:DATA,SS:STAC 11 22 33 DC A0 0A 55 AA

 

上下文章:

 

上一篇文章: 了解考试系列:软件环境、考试时间、考试题型及分值 下一篇文章: 四川:05下半年计算机等级考试又增新项目

相关文章:

  • 确保计算机安全 个人用户责无旁贷
  • 计算机病毒中心:重视微软高危漏洞补丁程序
  • 微软第二代超级计算机版Windows发布在即
  • 无纸化考试流程轻松实现
  • 江民推出六大创新计算机反病毒技术

相关软件:

  • Winamp皮肤精选 2.0.081005 社区5C版
  • 执业药师考试宝典 V6.1 中药版
  • 执业药师考试宝典 V6.1 西药版
  • 报检员考试全程通 V6.5
  • 春浪考试系统ASP版 V3.66
  • 计算机等级考试训练模拟软件(三级数据库技术) V1.01

 

快速导航

  • 网络学院
  • 精品汇聚
  • 字体下载
  • 教程下载
  • ASP源码
  • PHP源码
  • Net源码
  • JSP 源码

计算机等级考试分类导航

  • 计算机等级考试动态
  • 计算机一级考试
  • 计算机二级考试
  • 计算机三级考试
  • 计算机四级考试

本类经典文章推荐

  • 全国计算机等级考试三级网络技术(...
  • 三级网络技术复习笔记(第1-2章)
  • 三级笔试样题(PC技术)
  • 三级数据库技术样题
  • 三级网络技术复习笔记(5-7)
  • 三级网络技术复习笔记(第3-4章)
  • 笔试样题(网络技术)
  • 机考如何避免范围性错误
  • 2003年最新三级网络模拟题(2)
  • 全国计算机等级考试三级网络技术部...

计算机等级考试动态阅读排行

  • 9月17日计算机等级考试二级VF答案
  • 完整的计算机等级考试上机模拟系统
  • 计算机等级考试:VFp练习题1
  • 全国计算机等级考试三级网络技术(...
  • 历年操作系统论述题及答案(2)
  • 计算机等级考试:VFp练习题2
  • 计算机二级VB软件环境、考试时间、...
  • 2005年全国计算机等级考试全真模拟...
  • 三级网络技术复习笔记(第1-2章)
  • 全国计算机等级考试报名时间、级别...

计算机等级考试阅读总排行

  • 全国计算机等级考试一级模拟试题01
  • 全国计算机等级考试一级模拟试题10
  • 全国计算机等级考试一级模拟试题08
  • 全国计算机等级考试一级考试最新模...
  • 全国计算机等级考试一级模拟试题02
  • 全国计算机等级考试一级模拟试题07
  • 全国计算机等级考试上机考试应试技...
  • 一级(WINDOWS)试题解析-Word篇
  • 全国计算机等级考试一级模拟试题06
  • 全国计算机等级考试一级模拟试题03

广告位置

字母检索 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 回到顶部

关于我们 | 版权声明 | 免责条款 | 广告联系 | 软件发布 | 下载帮助 | 下载排行 | 网站地图 | 特别鸣谢 | 友情连接

copyright; 2005-2008 D9soft.com 第九软件网 版权所有