a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 102|回复: 0

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

[复制链接]
发表于 2012-7-31 20:55:16 | 显示全部楼层 |阅读模式
 请编制程序,其功能是:统计30个学生成绩中得在100~90、89~80、79~70、69~60区间以及低于60分的人数,并计算30个学生的平均成绩(取整数),结果依次存入指定的内存区域。  例如:
/ X  {" t0 {( o# y1 `& ~  内存中有10个分数 5EH,50H,64H,52H,55H,48H,3AH,4AH,40H,42H
- f3 f0 f, ^, l+ T! j9 d) \. m  结果为 02H,03H,02H,02H,01H,4DH(平均成绩)
" a& O5 W" M; g% A  部分程序已给出, 其中原始数据由过程LOAD从文件INPUT1.DAT中读入SOURCE开始的内存单元中。运算结果要求从RESULT开始存放,由过程SAVE保存到文件OUTPUT1.DAT中。
% ^5 P0 \+ k) A1 N  填空BEGIN和END之间已给出的一段源程序使其完整(空白已用横线标出,每行空白一般只需一条指令, 但采用功能相当的多条指令亦可),或删除BEGIN和END之间原有的代码并自行编程来完成要求的功能。4 m1 L2 |  g, g3 l% F" k7 ?2 ~- c
  对程序必须进行汇编,并与IO.OBJ链接产生PROG1.EXE执行文件,最终运行程序产生结果(无结果或结果不正确者均不得分)。调试中若发现整个程序中存在错误之处, 请加以修改。
+ J" N3 p# f" R' |( r8 ]  试题程序:( m* v* v2 C! B
  EXTRN LOAD:FAR,SAVE:FAR
' w- U3 p  R. \' m; ?  N EQU 302 x" L8 U# ?7 `8 w% W
  L EQU 5/ v( J' ]: S3 x
  DSEG SEGMENT
: Z0 ?% E' s; b1 ^, R  SOURCE DB N DUP(?)& B. \( v) c, e$ g
  RESULT DB N+1 DUP(0)7 [' b. O- Z# Y8 ?
  NAME0 DB 'INPUT1.DAT',01 r7 N6 y; }; @
  NAME1 DB 'OUTPUT1.DAT',0
$ H" Q& q; w/ r; n3 T) v" ~  DSEG ENDS
0 j3 \% t! Z5 O2 D4 T& D8 B  ~4 h  SSEG SEGMENT STACK: `' r  n0 @$ D* i9 ^) \0 C. e( b5 t
  DB 128 DUP(?)
% ]# z9 C3 ~& l% U& \9 P4 }: {0 m  SSEG ENDS8 E5 }4 @, |9 }) x+ D' x  K3 x
  CSEG SEGMENT
6 Q9 A4 T0 v5 R. @. Z2 ?  ASSUME CS:CSEG,SS:SSEG,DS:DSEG8 K. s, p" e2 S7 i0 b2 \8 ], [
  START PROC FAR
) K; A; D, ~! |- h; h' }$ B! A  PUSH DS  F$ r9 C& t8 w/ P
  XOR AX,AX
- ~. c# j! ~1 t# P7 T5 s* i  PUSH AX1 G, C( o! D) m7 |. s' T0 {
  MOV AX,DSEG3 B- m; @2 a+ x: R: s0 c; t
  MOV DS,AX, G- y: ?; @4 \
  MOV ES,AX ;置附加段寄存器
( q4 l* s. m( Y( \  LEA DX,SOURCE ;数据区起始地址
- _/ R. n, q: F6 o# {# l* x  LEA SI,NAME0 ;原始数据文件名
* t" w7 W  Y' m5 C1 K0 g  MOV CX,N ;字节数
/ P! q- }9 o, c# e0 k  p: x3 z  CALL LOAD ;从'INPUT1.DAT'中读取数据
: F. _, ~2 r/ |- H/ W0 d  ;****BEGIN****7 I/ V! R2 z4 w; k, L, t7 l! z
  LEA SI,SOURCE
+ Z0 d* E6 s' ~/ `. c) V  LEA DI,RESULT: M8 H* V# H( w7 P; ?3 a' U
  XOR BX,BX" l- x- G* W1 @/ o* Z: e
  ________________________
# Q, k/ c2 l% T" d0 O6 _, x. H) }  MOV CX,N
) b# U( t5 S- a8 a# x+ ~; s% L  GOON: LODSB) n+ _  e- f1 J
  ________________________
0 c- k$ S8 E" p  ADD BX,AX
3 D6 ~$ r& Y$ `7 k8 O8 q  ________________________3 ?# q! T5 [' U
  JAE A1
* u. \; M4 ^/ N) ~) }/ q  CMP AL,80& l0 b. V/ \! ?3 Z3 B
  JAE A2
7 L  M2 g, [0 o5 @, @  CMP AL,70
7 ?1 K0 ?) u" F  JAE A3; E% D* Y+ P8 Q4 [' n/ B! ?/ [
  CMP AL,608 o/ D7 ^+ A, s; Q. V9 R
  JAE A4
3 ?) v5 J3 P1 m8 y5 ]8 @8 c  INC ________________
; B8 S/ R1 I) h2 A1 C+ B  _________________________
* x. \, a! ^  f& R+ V8 J! G6 j2 H6 k  A4: INC BYTE PTR [DI+3]
8 Y0 C8 `/ w# T& m; a7 T5 N1 O  JMP NEXT
0 `) R4 v* J. ^. [! M6 C1 w2 ~  ~+ U  A3: INC BYTE PTR [DI+2]
& X5 |7 P' P, }( s9 g  u- k- f  JMP NEXT
0 t0 S  d8 U0 A) a  A2: INC BYTE PTR [DI+1], N6 N; H- N, H5 Y/ o7 j' Q
  JMP NEXT1 D: q7 J# }- F
  A1: INC BYTE PTR [DI]5 x; C4 o/ e9 j, G2 @- {
  NEXT: LOOP GOON
: b& `+ U" q% U) @, b# N4 _; q  MOV AX,_____________- o" G: v8 `. h* V' H( D' a
  MOV DL,_____________, ?( S0 Q  r- U! |4 D7 l
  DIV DL
- [2 }7 m: ~& P$ H8 u9 n! Y  MOV [DI+5],AL
0 Z% `- m) @0 R8 u  ;****END****
7 _% C% L- e5 q# Q5 X; w1 \  LEA DX,RESULT ;结果数据区首址" d. j+ a6 z# V/ `4 h
  LEA SI,NAME1 ;结果文件名0 ^; P$ d+ |! W& f' L: f
  MOV CX,L+1 ;字节数
* C, G2 }3 ^+ d3 a( E9 f. [  CALL SAVE ;保存结果到文件- N7 s( q4 j1 {8 W
  RET
6 V/ F5 i) ^" s) d( \2 O+ V  START ENDP. n1 s7 U6 y1 h- }4 M0 Z0 Q
  CSEG ENDS
/ t  [" J# X* X  END START
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-18 08:39 , Processed in 0.271670 second(s), 21 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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