a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 45|回复: 0

[PC技术] 2011下半年计算机等考三级PC技术上机100题(86)

[复制链接]
发表于 2012-7-31 20:55:16 | 显示全部楼层 |阅读模式
  请编制程序,其功能是:设内存中有一个由20个八位无符号数组成的数组A(下标从1开始),试求出一个新数组B使/ O* }7 ?' n1 v
  B(I)=A(I) I=1,201 q, y7 r/ a0 Q7 d, y. j
  B(I)=(A(I-1)+2*A(I)+A(I+1))/4 I=2~19
* l) Q0 S, F* L+ n  结果仍以八位无符号数存放。为了得到尽可能高的精度,要求最后做除法运算。* R' U5 T+ n( x* e  ?9 Y7 W9 q% b  K
  例如: A为 39H,C6H,D8H,94H…
% x9 }/ E5 M$ r2 W/ O  B为 39H,A7H,C2H…
; a7 ^4 }8 d- a  部分程序已给出, 其中原始数据由过程LOAD从文件INPUT1.DAT中读入SOURCE开始的内存单元中。运算结果要求从RESULT开始存放,由过程SAVE保存到文件OUTPUT1.DAT中。
5 s; i" l4 ~5 b/ T) N  填空BEGIN和END之间已给出的源程序使其完整(空白已用横线标出,每行空白一般只需一条指令, 但采用功能相当的多条指令亦可),或删除BEGIN和END之间原有的代码并自行编程来完成要求的功能。
, c* @* Z' d$ ]1 `+ X8 e) u  对程序必须进行汇编,并与IO.OBJ链接产生PROG1.EXE执行文件,最终运行程序产生结果(无结果或结果不正确者均不得分)。调试中若发现整个程序中存在错误之处, 请加以修改。" o; o( s' T, @6 R( t, \- C
  试题程序:
% P: b: _0 q8 U( w. [/ Y+ f  EXTRN LOAD:FAR,SAVE:FAR
( [: d6 J% d# d$ j  N EQU 20" r+ _: j- q9 c) F
  STAC SEGMENT STACK+ k: P$ ~4 a# y" F2 D8 x; Q2 K
  DB 128 DUP(?)
* r- q( M% y7 Q& m. X9 S  STAC ENDS
4 |$ @8 s* a+ j8 L3 n) i8 p  DATA SEGMENT8 F# J2 o  g# A# M0 _6 a5 `
  A DB N DUP(?)/ s2 v* ~3 x' ]$ V# O
  B DB N DUP(0)0 ^+ w* G. |, F4 e% o# M
  NAME0 DB 'INPUT1.DAT',0
$ ^- x' X+ X% k. i6 F; \  NAME1 DB 'OUTPUT1.DAT',0
- t$ k* x( d0 F7 |& |3 [* A% V3 `1 }  DATA ENDS
! F6 l6 w1 j! p  @3 w1 R; M  CODE SEGMENT
' J* A( D. B) V$ h: t! Z  ASSUME CS:CODE,DS:DATA,SS:STAC5 H0 p+ m  T7 z' P( c* ^
  START PROC FAR
1 V6 `# C! O8 L$ t  h! l+ x" t  PUSH DS" `+ E5 L" }6 R. _; p  k. f
  XOR AX,AX
6 W, Z5 l( Q* G5 X5 p& ~  PUSH AX
  o1 r( h  W/ B  MOV AX,DATA6 x0 L: `7 u: _' J& ]# G- y: N8 J6 `
  MOV DS,AX
. z# R$ \- S- @; d2 u  LEA DX,A ;数据区起始地址
6 o- K( d* m- y+ [  LEA SI,NAME0 ;原始数据文件名; O- [5 `2 f8 s9 y0 b
  MOV CX,N ;字节数
% m( L8 Q+ |( h; X8 E8 F  CALL LOAD ;从'INPUT1.DAT'中读取数据
8 S) Z( M3 G0 z. K  ;****BEGIN****6 C6 J" s4 V6 m
  LEA SI,A$ l+ n; H- g. S6 _: A
  LEA DI,B# u/ z% _+ i  R- N
  MOV AL,[SI] ;B[1]=A[1]
2 B; I% F' B5 n# ]2 c3 ~  MOV [DI],AL
* v  g- B: J6 p4 T  ________________________ ;B[N]=A[N]2 z: l1 T0 x3 D  y
  _________________________
6 a- v3 A% g5 I% ~2 z7 S  INC SI# k: p9 ?- K  f' e% r. Z) _, s/ S
  INC DI6 Y# u! V  n6 m2 j, l; l
  MOV CX,_____________+ D/ D6 ~" X9 X+ m& x& \/ q
  L0: XOR AX,AX1 v! w4 ?7 ^. `, \  {; n
  XOR BX,BX
! G* A# E- y4 ~! Y& L  XOR DX,DX  x2 w# M4 V  X( w
  MOV AL,_____________; [: i; E& e  M) N& Q- o) F
  MOV BL,_____________. t" Z( k8 V4 \# h
  MOV DL,_____________' @( i% J9 E/ v" _
  ________ AX,10 g. H0 G- I" ], A3 o
  ADD AX,BX
8 \$ H6 P9 ~4 `- b4 k; y& K6 t: c6 @  ADD AX,DX( Q, K( Z3 j% S7 L" j: y
  SHR AX,1- |9 ^$ ~* R  N4 \! \  ?) ?
  SHR AX,1
4 e; h2 {% _/ z5 ?+ ?  MOV [DI],AL
7 m7 l" l0 B' |. Y" Y  INC SI
+ ^5 Y2 K, J+ C/ m0 G7 X' w  INC DI
; J8 F$ \$ B# m' ]! A$ q6 b  LOOP L0
& x! i3 ^5 r  g* U3 L+ P  ;****END****& R# K4 ]. h, H/ A  B% E
  LEA DX,B ;结果数据区首址5 ?: |+ K0 e  P  l6 X+ o) |% _
  LEA SI,NAME1 ;结果文件名
' _2 n5 C  U4 [  MOV CX,N ;结果字节数' a3 X- s2 L1 `- m2 o
  CALL SAVE ;保存结果到文件
- I, e7 |" I( ^7 h  RET
/ N* {% L6 F; p# ]5 s  START ENDP. S' O( F/ E3 \8 h) ]0 v% n5 h
  CODE ENDS$ c$ n4 _7 T" m" ~  l3 N+ A  _
  END START
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Woexam.Com ( 湘ICP备18023104号 )

GMT+8, 2024-5-23 06:51 , Processed in 0.416544 second(s), 21 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表