当前所在位置:珠峰网资料 >> 计算机 >> 计算机等级考试 >> 正文
2015年计算机三级PC技术第八十九套上机试题及答案
发布时间:2012/2/9 10:04:45 来源:城市学习网 编辑:ziteng

  请编制程序,其功能是:分别统计内存中字符串SEGMENT、EQU、DB、MOV、ADD、ENDS、

  PROC、ENDP、AL、END的个数,然后将统计的个数以字节类型依次存入指定的内存中。

  例如:

  内存中有 SEGMENT,EQU,DB,DB,MOV,ADD,ENDS,PROC,ENDP,AL,AL,AL,END,SUB,MUL

  结果为 01H,01H,02H,01H,01H,01H,01H,01H,03H,03H

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

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

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

  试题程序:

  MSTR MACRO STRX,NX1,NX2

  LOCAL NEXT,AGAIN,FOUND

  CLD

  LEA SI,SOURCE

  NEXT: CMP [SI],'$$'

  JE AGAIN

  MOV CX,NX1

  LEA DI,STRX

  REPE CMPSB

  JNE NEXT

  FOUND: INC BYTE PTR NX2

  JMP NEXT

  AGAIN: ENDM

  EXTRN LOAD:FAR,SAVE:FAR

  N1 EQU 277

  N2 EQU 10

  DSEG SEGMENT

  SOURCE DB N1 DUP(?)

  RESULT DB N2 DUP(0)

  STR0 DB 'SEGMENT'

  STR1 DB 'EQU'

  STR2 DB 'DB'

  STR3 DB 'MOV'

  STR4 DB 'ADD'

  STR5 DB 'ENDS'

  STR6 DB 'PROC'

  STR7 DB 'ENDP'

  STR8 DB 'AL'

  STR9 DB 'END'

  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,ES:DSEG

  START PROC FAR

  PUSH DS

  XOR AX,AX

  PUSH AX

  MOV AX,DSEG

  MOV DS,AX

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

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

  MOV CX,N1 ;字节数

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

  ;****BEGIN****

  MSTR ________________

  MSTR ________________

  MSTR ________________

  MSTR ________________

  MSTR ________________

  MSTR ________________

  MSTR ________________

  MSTR ________________

  MSTR ________________

  MSTR ________________

  ;****END****

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

  LEA SI,NAME1 ;结果文件名

  MOV CX,N2 ;结果字节数

  CALL SAVE ;保存结果到文件

  RET

  START ENDP

  CSEG ENDS

  END START

广告合作:400-664-0084 全国热线:400-664-0084
Copyright 2010 - 2017 www.my8848.com 珠峰网 粤ICP备15066211号
珠峰网 版权所有 All Rights Reserved