教育学习网
 | 网站首页 | 最新动态 | 资料下载 | 免费课件 | 考试频道 | 教师专区 | 留学移民 | 英语学习 | 教育论文 | 常用文书 | 教案例文 | 作文大全 | 
eduxue.com baidu
栏目更新推荐  
·备考三级PC南开100题(3)
·备考三级PC南开100题(2)
·备考三级PC南开100题(1)
·二级FORTRAN程序设计上机题1
·二级FORTRAN程序设计上机题2
·二级FORTRAN程序设计上机题3
·二级FORTRAN程序设计上机题4
·二级FORTRAN程序设计上机题5
赞助广告  
 
 教育学习网 > 考试频道 > 计算机类考试 > 计算机等级考试 > 模拟试题 > 文章正文
备考三级PC南开100题(3)
www.eduxue.com 来源:http://www.eduxue.com 更新时间:2007-9-6 【字体:
推荐文章:全国计算机等级考试三级笔试样题
推荐文章简介:
一、选择题 (1) 组建计算机网络的目的是为了能够相互共享资源,这里的计算机资源主要是指硬件、软件与 。 A) 大型机 B) 通信系统 C) 服务器 D) 数据 (2) 计算机网络与分布系统之间的区别主要是在 。 A) 系统物理结构

第二十一题:

一、请编制程序,其功能是:以SOURCE开始的内存区域存放着若干字节的数据,以’#’作为数据的结束标志。将其中的空格滤除,对每个非空格数据的最高位清0后依次存放到RESULT指示的区域,其后存放一个空格符(20H),然后存放原来的空格个数,最后仍以’#’结束。

内存中有  45H,20H,87H,20H,A5H,32H,20H,20H,20H,23H

结果为      45H,07H,25H,32H,20H,05H,23H

部分程序已给出, 其中原始数据由过程LOAD从文件INPUT1.DAT中读入SOURCE开始的内存单元中。运算结果要求从RESULT开始存放,由过程SAVE保存到文件OUTPUT1.DAT中。

  填空BEGINEND之间已给出的一段源程序使其完整(空白已用横线标出,每行空白一般只需一条指令, 但采用功能相当的多条指令亦可),或删除BEGINEND之间原有的代码并自行编程来完成要求的功能。

       对程序必须进行汇编,并与IO.OBJ链接产生PROG1.EXE执行文件,最终运行程序产生结果(无结果或结果不正确者均不得分)。调试中若发现整个程序中存在错误之处, 请加以修改。

   

    试题程序:

 

         EXTRN    LOAD:FAR,SAVE:FAR

N        EQU      20

ESC_CODE EQU      27

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

        MOV      ES,AX                ;置附加段寄存器

        LEA      DX,SOURCE            ;数据区起始地址

        LEA      SI,NAME0             ;原始数据文件名

        MOV      CX,N                 ;字节数

        CALL     LOAD                 ;从'INPUT1.DAT'中读取数据

;****BEGIN****

        LEA      SI,SOURCE

        MOV      DI,OFFSET RESULT

        XOR      BL,BL

AGN1:   MOV      AL,[SI]

INC      SI

CMP      AL,’ ‘

JE       __________________

JMP      AGN2

AGN11:  INC      BL

        JMP      AGN1

AGN2:   CMP      AL,_______________

JE       DONE

AND      AL,7FH

MOV      [DI],AL

___________________________

___________________________

DONE:   MOV      AL,_______________

MOV      [DI],AL

INC      DI

MOV      [DI],BL

INC      DI

MOV      AL,’#’

MOV      ____________,AL

;****END****

        LEA      DX,RESULT      ;结果数据区首址

        LEA      SI,NAME1       ;结果文件名

        MOV      CX,N           ;字节数

        CALL     SAVE           ;保存结果到文件

        RET

START   ENDP

CODE    ENDS

        END    START

 

 

第二十二题:

一、请编制程序,其功能是:内存中连续存放着9ASCII字符(8位二进制数表示,最高位为零),把它们转换成串行通讯中偶校验码,并计算9个偶校验码的累加码(累加值的低8位二进制数),将九个偶校验码按原序存入内存,累加码存放在此序最后。

例如:

内存中有:  37H,38H,39H

结果为    B7H,B8H,39H…累加码

部分程序已给出, 其中原始数据由过程LOAD从文件INPUT1.DAT中读入SOURCE开始的内存单元中。运算结果要求从RESULT开始存放,由过程SAVE保存到文件OUTPUT1.DAT中。

  填空BEGINEND之间已给出的一段源程序使其完整(空白已用横线标出,每行空白一般只需一条指令, 但采用功能相当的多条指令亦可),或删除BEGINEND之间原有的代码并自行编程来完成要求的功能。

    对程序必须进行汇编,并与IO.OBJ链接产生PROG1.EXE执行文件,最终运行程序产生结果(无结果或结果不正确者均不得分)。调试中若发现整个程序中存在错误之处, 请加以修改。

   

    试题程序:

 

         EXTRN    LOAD:FAR,SAVE:FAR

N        EQU      10

STAC    SEGMENT  STACK

         DB       128 DUP(?)

STAC    ENDS

DATA    SEGMENT

SOURCE   DB       9 DUP(?)      ;顺序存放9个ASCII字符   

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-1               ;字节数

        CALL     LOAD                 ;从'INPUT1.DAT'中读取数据

;****BEGIN****

        MOV      SI,OFFSET SOURCE

        MOV      DI,OFFSET RESULT

        MOV      DX,N-1

        MOV      AL,0

LP0:    MOV      BL,[SI]

        MOV      CX,8

        ________ AX

        MOV      AL,0

LP1:    ________ BL,1

        ________ AL,0

        LOOP     LP1

        AND      AL,01H

        ROR      AL,1

        OR       _________,_________

        MOV      [DI],BL

        ________ AX

        ADD      AL,BL

        INC      DI

        INC      SI

        DEC      ____________________

        JNZ      LP0

        _____________________________

;****END****

        LEA      DX,RESULT      ;结果数据区首址

        LEA      SI,NAME1       ;结果文件名

        MOV      CX,N           ;字节数

        CALL     SAVE           ;保存结果到文件

        RET

START   ENDP

CODE    ENDS

        END    START

 

第二十三题:

一、请编制程序,其功能是:以SOURCE开始的内存区域存放着红外数据通信系统传输的数据信息。其编码形式为:AACCXYXYDDEE,表示传送的数据为压缩BCDXY。如AACC1212DDEE表示数据12。现要求编程实现解码,如果压缩BCD码不是以AACC开始或者不是以DDEE结束或中间两个BCD码不同,则此数据不解码。解码后的BCD码存入RESULT开始的内存区域。

例如:

原信息为  AAH,CCH,05H,05H,DDH,EEH,AAH,C8H,43H,43H,DDH,

          0EH,AAH,CCH,87H,87H,DDH,EEH

结果为    05H,87H

部分程序已给出, 其中原始数据由过程LOAD从文件INPUT1.DAT中读入SOURCE开始的内存单元中。运算结果要求从RESULT开始存放,由过程SAVE保存到文件OUTPUT1.DAT中。

  填空BEGINEND之间已给出的一段源程序使其完整(空白已用横线标出,每行空白一般只需一条指令, 但采用功能相当的多条指令亦可),或删除BEGINEND之间原有的代码并自行编程来完成要求的功能。

    对程序必须进行汇编,并与IO.OBJ链接产生PROG1.EXE执行文件,最终运行程序产生结果(无结果或结果不正确者均不得分)。调试中若发现整个程序中存在错误之处, 请加以修改。

   

    试题程序:

 

         EXTRN    LOAD:FAR,SAVE:FAR

N        EQU      10

STAC    SEGMENT  STACK

         DB       128 DUP(?)

STAC    ENDS

DATA    SEGMENT

SOURCE   DB       6*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

        MOV      ES,AX                ;置附加段寄存器

        LEA      DX,SOURCE            ;数据区起始地址

        LEA      SI,NAME0             ;原始数据文件名

        MOV      CX,6*N               ;字节数

        CALL     LOAD                 ;从'INPUT1.DAT'中读取数据

;****BEGIN****

        LEA      SI,SOURCE

        MOV      DI,OFFSET RESULT

        MOV      CX,_______________

LPST:   MOV      DL,6

MCLP1:  MOV      AL,_______________

        MOV      BX,SI

CMP      AL,0AAH

JNZ      NEXTD

INC      SI

MOV      AL,[SI]

CMP      AL,0CCH

____________________________

INC      SI

MOV      AL,[SI]

MOV      DH,AL

INC      SI

MOV      AL,[SI]

_____________________________

JNZ       NEXTD

INC       SI

MOV       AL,[SI]

CMP       AL,0DDH

JNZ       AEXTD

INC       SI

MOV       AL,[SI]

CMP       AL,0EEH

JNZ       NEXTD

INC       SI

MOV       [DI],DH

INC       DI

NEXTD:  _____________________________

        MOV       SI,BX

        _____________________________

;****END****

        LEA      DX,RESULT      ;结果数据区首址

        LEA      SI,NAME1       ;结果文件名

        MOV      CX,N           ;字节数

        CALL     SAVE           ;保存结果到文件

        RET

START   ENDP

CODE    ENDS

        END    START

 

 

第二十四题:

一、请编制程序,其功能是:将一数据采集系统中采集的80个字节无符号数(已存于SOURCE开始的内存区域)按算术平均数字滤波方法进行数字滤波,每8个数求一个平均值(舍去余数)。将10个平均值依次写入RESULT指示的内存区域。

例如:

原采集数据  1EH  31H  31H  33H  58H  75H  38H  34H  49H  A2H  98H

            DFH  99H  64H  64H  B7H

结果为      3DH  CCH

部分程序已给出, 其中原始数据由过程LOAD从文件INPUT1.DAT中读入SOURCE开始的内存单元中。运算结果要求从RESULT开始存放,由过程SAVE保存到文件OUTPUT1.DAT中。

  填空BEGINEND之间已给出的一段源程序使其完整(空白已用横线标出,每行空白一般只需一条指令, 但采用功能相当的多条指令亦可),或删除BEGINEND之间原有的代码并自行编程来完成要求的功能。

    对程序必须进行汇编,并与IO.OBJ链接产生PROG1.EXE执行文件,最终运行程序产生结果(无结果或结果不正确者均不得分)。调试中若发现整个程序中存在错误之处, 请加以修改。

   

    试题程序:

 

         EXTRN    LOAD:FAR,SAVE:FAR

N        EQU      10

STAC    SEGMENT  STACK

         DB       128 DUP(?)

STAC    ENDS

DATA    SEGMENT

SOURCE   DB       8*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,6*N               ;字节数

        CALL     LOAD                 ;从'INPUT1.DAT'中读取数据

;****BEGIN****

        LEA      SI,SOURCE

        MOV      __________________

        MOV      DX,N

MAGN1:  XOR      AX,AX

        XOR      BX,BX

        MOV      CX,_______________

MAGN2:  MOV      AL,[SI]               ;取数并求和放BX中

        ADD      BX,_______________

        INC      SI

____________________________

MOV      AX,BX

____________________________

____________________________

____________________________

____________________________

DEC      DX

________ MAGN1

;****END****

        LEA      DX,RESULT      ;结果数据区首址

        LEA      SI,NAME1       ;结果文件名

        MOV      CX,N           ;字节数

        CALL     SAVE           ;保存结果到文件

        RET

START   ENDP

CODE    ENDS

        END    START

 

 

第二十五题:

一、请编制程序,其功能是:内存中连续存放着16个二进制字节数,在原16个数的第4和第5个数之间插入00H,在原16个数的第8和第9个数之间插入55H,在原16个数的第12和第13个数之间插入AAH,在原16个数最后加入FFH。将按上述方法插入4个字节数后得到的20个字节数存入内存中。

例如:

内存中有  10H,20H,30H,40H,50H,,8FH(共16个字节)

结果为    10H,20H,30H,40H,00H,50H,,8FH,FFH(共20个字节)

部分程序已给出, 其中原始数据由过程LOAD从文件INPUT1.DAT中读入SOURCE开始的内存单元中。运算结果要求从RESULT开始存放,由过程SAVE保存到文件OUTPUT1.DAT中。

  填空BEGINEND之间已给出的一段源程序使其完整(空白已用横线标出,每行空白一般只需一条指令, 但采用功能相当的多条指令亦可),或删除BEGINEND之间原有的代码并自行编程来完成要求的功能。

    对程序必须进行汇编,并与IO.OBJ链接产生PROG1.EXE执行文件,最终运行程序产生结果(无结果或结果不正确者均不得分)。调试中若发现整个程序中存在错误之处, 请加以修改。