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

计算机等级考试三级PC上级题汇总(2)

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

       

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

     请编制程序PROG1.ASM,其功能是:内存中连续存放着二十个ASCII字符,如果是0~9或A~F之间的字符,请把它们转换成二进制
数;若为其他字符,不作转换。
     例如:
    内存中有30H('0'),31H('1'), 61H('a'),41H('A'),42H('B'), ...结果为   00H,01H,61H,0AH,0BH ...部分程序已给出, 其中原始数据由过程LOAD从文件INPUT1.DAT中读入SOURCE开始的内存单元中, 运算结果要求从RESULT开始存放,由过程SAVE保存到文件OUTPUT1.DAT中。填空BEGIN和END之间已给出的源程序使其完整(空白已用横线标出,每行空白一般只需一条指令,但采用功能相当的多条指令亦可),或删除BEGIN和END之间原有的代码并自行编程来完成要求的功能。对程序必须进行汇编,并与IO.OBJ链接产生PROG1.EXE执行文件, 最终运行程序产生结果 (无结果或结果不正确者均不得分)。调试中若发现整个程序中存在错误之处,请加以修改。

         EXTRN      LOAD:FAR,SAVE:FAR
N        EQU         20
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              ; 从 'INPUT.DAT'中读取数据;  **** BEGIN ****
           LEA         SI,SOURCE
           mov         di,offset result
           ;____         DI,OFFSET RESULT
           mov         cx,N
           ;__________________
NEXT:      MOV        AL,[SI]
           CMP        AL,'0'
           JB           INVALID
           cmp        al,'9'
           jbe        strip
           ;CMP         AL,____
           ;JBE          ____
           CMP         AL,'A'
           JB          INVALID
           cmp         al,'F'
           ja          invalid
           ;CMP         AL, ____
           ;JA           ____
           ADD         AL,9
STRIP:     AND         AL,0FH
INVALID:   MOV         [DI],AL
           ADD         SI,1
           ADD         DI,1
           loop        next
           ;LOOP        ____
  ****  END  ****
           LEA         DX,RESULT         ; 结果数据区首址
           LEA         SI,NAME1          ; 结果文件名
           MOV        CX,N               ; 结果字节数

           CALL        SAVE              ; 保存结果到文件
           RET
START    ENDP
CODE     ENDS
         END         START

input1.dat 内容如下:
33 34 23 45 75 98 46 87 41 AC 30 63 66 61 76 39 88 77 24 DE
output1.dat 内容应当如下:
03 04 23 0E 75 98 0F 87 0A AC 00 63 66 61 76 09 88 77 24 DE

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

      请编制程序PROG1.ASM, 其功能是: 计算3×10矩阵中每一列元素(八位二进制数)之和, 并将其结果存放在指定的内存区中。
      例如:
      内存中有 0,0,0,0,0,0,0,0,0,0(第1行),1,1,1,1,1,1,1,1,1,1(第2行),9,9,9,9,9,9,9,9,9,9(第3行)结果为    000AH,000AH,...,000AH部分程序已经给出,其中原始数据由过程LOAD从文件INPUT1.DAT中读入SOURCE开始的内存单元中, 转换结果要求从RESULT开始存放,由过程SAVE保存到文件OUTPUT1.DAT中。
      填空BEGIN和END之间已经给出的一段源程序使其完整,填空处已经用横线标出, 每个空白一般只需要填一条指令或指令的一部分(指
令助记符或操作数), 考生也可以填入功能相当的多条指令, 或删去BEGIN和END之间原有的代码并自行编程来完成要求的功能。
      对程序必须进行汇编,并与IO.OBJ链接产生PROG1.EXE执行文件,最终运行程序产生结果(无结果或结果不正确者均不得分)。

EXTRN LOAD:FAR,SAVE:FAR
N       EQU     30
DSEG    SEGMENT
SOURCE  DB      N DUP(?)
SRC     DW      SOURCE
RESULT  DW      N/3 DUP(0)
I       EQU     3
J       EQU     10
NAME0   DB      'INPUT1.DAT',0
NAME1   DB      'OUTPUT1.DAT',0
DSEG    ENDS

SSEG    SEGMENT STACK
        DB      256 DUP (?)
SSEG    ENDS

CSEG    SEGMENT
        ASSUME  CS:CSEG,SS:SSEG,DS:DSEG
START PROC FAR
PUSH DS
XOR AX,AX
PUSH AX
        MOV     AX,DSEG
MOV DS,AX
        MOV     ES,AX

LEA DX,SOURCE
LEA SI,NAME0
        MOV     CX,N
        CALL    LOAD            
   *** BEGIN ***
        LEA     SI,SOURCE
        LEA     DI,RESULT
        MOV     BX,1
LPJ:    MOV     DX,0
        MOV     CX,1
LPI:    MOV     AL,[SI]
        mov     ah,0
        ;_______________

        ADD     DX,AX
        add     si,10
        ;ADD     SI,__
        INC     CX
        CMP     CX,I
        JBE     LPI
        MOV     [DI],DX
        add     di,2
        ;ADD     DI,____
        INC     SRC
        MOV     SI,SRC
        inc     bx
        cmp     bx,J
        ;_______________
        ;CMP     BX,____
        JBE     LPJ
   *** END   ***
        LEA     DX,RESULT
        LEA     SI,NAME1
        MOV     CX,N*2/3
        CALL    SAVE
        RET
START ENDP
CSEG    ENDS
        END     START

input1.dat 内容如下:
010101010101010101010202020202020202020204040404040404040404
output1.dat 内容应当如下:
07 00 07 00 07 00 07 00 07 00 07 00 07 00 07 00 07 00 07 00

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

     请编制程序PROG1.ASM, 其功能是: 内存中连续存放着二十个无符号字节数序列,求出该序列的最大值和最小值。 结果存放形
式为:先按原序存放二十个需处理的无符号字节序列,后跟该序列的最大值和最小值(最大值在前,最小值在后)。
      例如:
      内存中有 01H,02H,03H, ...结果为   01H,02H,03H, ... (共二十个需处理的原无符号字节序列),后跟该序列的最大值和最小值 (最大值在前,最小值在后)。
    部分程序已给出,其中原始数据由过程LOAD从文件INPUT1.DAT中读入SOURCE开始的内存单元中, 运算结果要求从RESULT开始存
放,由过程SAVE保存到文件OUTPUT1.DAT中。
      填空BEGIN和END之间已给出的源程序使其完整(空白已用横线标出, 每行空白一般只需一条指令, 但采用功能相当的多条指令
亦可),或删除BEGIN和END之间原有的代码并自行编程来完成要求的功能。
      对程序必须进行汇编,并与IO.OBJ链接产生PROG1.EXE执行文件,最终运行程序产生结果 (无结果或结果不正确者均不得分)。
调试中若发现整个程序中存在错误之处,请加以修改。

          EXTRN      LOAD:FAR,SAVE:FAR
N         EQU        20
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              ; 从 ''INPUT''中读取数据
  **** BEGIN ****
  最大值放在BH中,最小值放在BL中
           LEA        SI,SOURCE
           lea        di,result
           ;LEA        ____,RESULT
           MOV       BH,[SI]             ; 第一个字节既为最大值
           MOV       BL,BH               ; 又为最小值
           MOV       [DI],BH
           add       si,1
           add       di,1     ; 或 inc di
           ;ADD        SI, ____
           ;__________________
           MOV       CX,N-1
NEXT:      MOV       AL,[SI]

           CMP       AL,BH
           jb        chkmin
           ;____       CHKMIN
           MOV       BH,AL
           JMP        ENDL
CHKMIN:    CMP       AL,BL
           JAE        ENDL
           mov       bl,al
           ;MOV       ____,AL
ENDL:      MOV       [DI],AL
           ADD       SI,1
           ADD       DI,1
           LOOP      NEXT
           mov       [di],bh
           mov       [di+1],bl
           ;MOV       [DI],____
           ;______________
  ****  END  ****
           LEA       DX,RESULT         ; 结果数据区首址
           LEA       SI,NAME1          ; 结果文件名
           MOV      CX,2+N             ; 结果字节数
           CALL      SAVE              ; 保存结果到文件
           RET
START    ENDP
CODE     ENDS
         END       START

 input1.dat 内容如下:
71 A2 34 3F 39 FC 48 43 44 45 39 32 38 41 48 37 36 35 38 87
output1.dat 内容应当如下:
71 A2 34 3F 39 FC 48 43 44 45 39 32 38 41 48 37 36 35 38 87 FC 32

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

      请编制程序PROG1.ASM, 其功能是: 对一个由可打印ASCII字符(ASCII码20H~7FH)组成的字符串可采用下列方法进行压缩:从串首
开始向后扫描, 如某字符单独出现则该字符不变, 如某字符连续出现n次, 则该字符用ESC(1BH),n,<原字符>三个字节来代替(假定n不超过255)。例如:
    原串  : 41H,43H,43H,43H,43H,43H,43H,61H,00H ("ACCCCCCa")
    压缩后: 41H,1BH,06H,43H,61H,00H设内存中从SOURCE开始有一字符串, 其以00H结束, 长度不超过100。试编程对其进行压缩, 结果存入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        100
ESC_CODE   EQU        27

STAC       SEGMENT    STACK
           DB         128 DUP (?)
STAC       ENDS

DATA       SEGMENT
SOURCE     DB         N DUP(0)
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
           MOV        ES,AX             ; 置附加段寄存器

           LEA        DX,SOURCE         ; 数据区起始地址
           LEA        SI,NAME0          ; 原始数据文件名
           MOV        CX,N              ; 字节数
           CALL       LOAD              ; 从 "input1.dat"中读取数据
  **** BEGIN ****

           LEA        SI,RESULT

           LEA        DI,SOURCE
           CLD
           INC        DI
L0:        mov        al,[di-1]
           ;____________________
           CMP        AL,0
           JE         QUIT
           MOV        CX,0FFFFH         ; SET THE COUNTER TO 0FFFFH
           rep        scasb
           ;____________________         ; 字符串重复搜索, CX=0FFFFH-n
           NEG        CX                ; 10000H-CX->CX
           dec        cx
           ;____________________         ; 获得重复次数n
           CMP        CX,1
           ja        compress
           ;J__        COMPRESS
           MOV        [SI],AL
           INC        SI
           jmp        L0
           ;JMP        ________
COMPRESS:  MOV        [SI],BYTE PTR ESC_CODE
           MOV        [SI+1],CL
           MOV        [SI+2],AL
           add        si,3
           ;____________________
           JMP        L0

QUIT:
           MOV       [SI],AL            ; STORE THE ''00H''
  ****  END  ****
           LEA        DX,RESULT    ; 结果数据区首址
           LEA        SI,NAME1     ; 结果文件名起始地址

           MOV        CX,N         ; 字节数
           CALL       SAVE         ; 保存结果到"output1.dat"文件中
           RET
START      ENDP
CODE       ENDS
           END        START

 input1.dat 文件内容如下:
41 42 42 42 65 42 42 42 42 42 42 42 42 42 42 42
42 42 42 42 42 42 42 42 42 42 42 42 42 42 43 44
44 44 45 48 48 48 48 48 48 48 48 48 48 48 48 48
48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48
48 48 48 48 48 48 49 4A 4C 47 47 47 47 47 47 47
47 47 47 47 47 4D 4D 4D 4D 4D 4D 4D 4D 4D 4D 4D
4D 4D 4D 00
output1.dat 文件内容应当如下:
41 1B 03 42 65 1B 19 42 43 1B 03 44 45 1B 23 48
49 4A 4C 1B 0C 47 1B 0E 4D 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00

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

      请编制程序PROG1.ASM,其功能是:
     对内存中存放的六组带符号16位二进制数(每组由三个数组成,均不为零)进行处理。处理方法为:当每组中负数多于正数时,将组内
负数变成正数(但绝对值不变,下同),组内正数不变。反之,将组内正数变成负数,组内负数不变。变换好的数按原序存放在内存中。
      例如:
      内存中有 0003H,0001H,0002H,0003H,0004H,FFFFH,FFFEH,FFFDH,0001H,FFFEH,FFFDH,FFFFH,…(共六组18个数)
      结果为   FFFDH,FFFFH,FFFEH,FFFDH,FFFCH,FFFFH,0002H,0003H,0001H,0002H,0003H,0001H…(共18个数)
      部分程序已给出, 其中原始数据由过程LOAD从文件INPUT1.DAT中读入SOURCE开始的内存单元中。运算结果要求从RESULT开始存放,
由过程SAVE保存到文件OUTPUT1.DAT中。
      填空BEGIN和END之间已给出的源程序使其完整(空白已用横线标出,每行空白一般只需一条指令, 但采用功能相当的多条指令亦可),
或删除BEGIN和END之间原有的代码并自行编程来完成要求的功能。
      对程序必须进行汇编,并与IO.OBJ链接产生PROG1.EXE执行文件,最终运行程序产生结果(无结果或结果不正确者均不得分)。调试中
若发现整个程序中存在错误之处, 请加以修改。

           EXTRN      LOAD:FAR,SAVE:FAR
N          EQU        18
STAC       SEGMENT    STACK
           DB         128 DUP (?)
STAC       ENDS
DATA       SEGMENT
SOURCE     DW         N DUP(?)
RESULT     DW         N DUP(0)
NAME0      DB         'INPUT1.DAT',0
NAME1      DB         'OUTPUT1.DAT',0
DATA       ENDS

        CLD
NEXT:   LODSB
        MOV     BL,AL
        and     al,0fh
        ;AND     AL,___
        CALL    SR
        MOV     AL,BL
        PUSH    CX
        MOV     CL,4
        shr     al,cl
        pop     cx
        ;SHR     AL,__
        ;_____________
        CALL    SR
        LOOP    NEXT
        JMP     EXIT
SR      PROC
        CMP     AL,0AH
        JB      NUM
        ADD     AL,07H
NUM:    add     al,30h
        ;ADD     AL,___
        STOSB
        RET
sr      endp
SR      ____
   *** END   ***
EXIT: LEA DX,RESULT
LEA SI,NAME1
        MOV     CX,2*N
        CALL    SAVE           
RET
START ENDP
CSEG    ENDS
        END     START

 input1.dat 内容如下:
124A583B464789231C26
output1.dat 内容应当如下:
32 31 41 34 38 35 42 33 36 34 37 34 39 38 33 32 43 31 36 32

 

上下文章:

 

上一篇文章: 计算机等级考试四级究竟有什么作用 下一篇文章: 2004年NCRE答疑集锦-关于教材

相关文章:

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

相关软件:

  • 执业药师考试宝典 V6.1 中药版
  • 执业药师考试宝典 V6.1 西药版
  • 报检员考试全程通 V6.5
  • 春浪考试系统ASP版 V3.66
  • 计算机等级考试训练模拟软件(三级数据库技术) V1.01
  • 房地产估价师考试全程通 V6.5

 

快速导航

  • 网络学院
  • 精品汇聚
  • 字体下载
  • 教程下载
  • 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 第九软件网 版权所有