a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 56|回复: 0

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

[复制链接]
发表于 2012-7-31 20:55:16 | 显示全部楼层 |阅读模式
请编制程序,其功能是:内存中连续存放着20个无符号8位二进制数,每个数为摇号机一次摇出的两个号码的压缩BCD码表示。现统计此20次摇号中号码0,1,2,…9出现的次数,将结果存入内存。  例如:
. n% X, q6 L; n  内存中有 00H,02H,32H,45H,08H,19H,67H,51H,90H,85H,3 a9 k# p6 [) h0 C
  62H,44H,73H,57H,39H,81H,36H,92H,21H,05H
0 Q$ r7 V* \9 [  |  结果为 06H,04H,05H,04H,03H,05H,03H,03H,03H,04H
8 b7 P# N; c- l5 J, |/ G0 N* K( ?  部分程序已给出, 其中原始数据由过程LOAD从文件INPUT1.DAT中读入SOURCE开始的内存单元中。运算结果要求从RESULT开始存放,由过程SAVE保存到文件OUTPUT1.DAT中。% B+ q/ O: A" C; H0 `
  填空BEGIN和END之间已给出的一段源程序使其完整(空白已用横线标出,每行空白一般只需一条指令, 但采用功能相当的多条指令亦可),或删除BEGIN和END之间原有的代码并自行编程来完成要求的功能。9 E( |0 o2 J2 d( E
  对程序必须进行汇编,并与IO.OBJ链接产生PROG1.EXE执行文件,最终运行程序产生结果(无结果或结果不正确者均不得分)。调试中若发现整个程序中存在错误之处, 请加以修改。
. v0 Z8 m5 x: e( M. O  试题程序:
% c1 W$ c' ^+ b' d  EXTRN LOAD:FAR,SAVE:FAR5 A0 g# U8 Z4 A, X1 {" I- r
  N EQU 20
2 p  N4 x& C5 I$ b  STAC SEGMENT STACK
) o. {' O$ Q! ~- @  DB 128 DUP(?)
% \7 w8 B2 \; ~* L/ u  STAC ENDS
, S9 T: H$ g+ e  DATA SEGMENT  D* L3 P, _3 }! }1 Z! t
  SOURCE DB N DUP(?) ;顺序存放10个字节数9 r4 p  D5 D- H& P4 U. k' M/ ^( Z
  RESULT DB (N/2) DUP(0) ;存放结果( K/ X1 _( `9 u: s2 e
  NAME0 DB 'INPUT1.DAT',0* I: D7 E: j& B) {" i6 v9 L8 e
  NAME1 DB 'OUTPUT1.DAT',0
5 u* A* f; J8 G7 |$ C! M- \: R: J  DATA ENDS
, H& ]7 o. d9 q6 U) r0 ^" B+ ^  CODE SEGMENT
6 z) V& ]. c+ F& u3 H7 L3 R  ASSUME CS:CODE,DS:DATA,SS:STAC) s/ l* l9 X+ {6 ?8 X7 I! S( r7 `) g
  START PROC FAR$ [; r- }; X/ r+ D" A; e
  PUSH DS
  n5 D6 a2 a# S* x& T  XOR AX,AX
+ @7 [* m5 k2 a' `6 @; }$ y0 M' _5 _) [  PUSH AX& C' u' G5 ]) B  Z; I, x2 B
  MOV AX,DATA' J7 g. Q) B$ O& F  B: H3 b
  MOV DS,AX3 l: S) }9 r( }1 L0 c
  LEA DX,SOURCE ;数据区起始地址5 R4 I1 s" m; L6 ~1 W3 _
  LEA SI,NAME0 ;原始数据文件名2 [. {' O! E% T) L8 X# R
  MOV CX,N*2 ;字节数
! _4 T! G' b+ @; B6 ?# v5 k  CALL LOAD ;从'INPUT1.DAT'中读取数据
, L# G, W+ g( M* V, J4 k6 U! b  ;****BEGIN****0 e! {$ k+ S4 f: m
  LEA SI,SOURCE
4 _8 q% m/ _6 C8 Q) k9 S  MOV CX,20& q1 s! W* C, d! f
  MOV BX,0& ?! h. P* g. ]" o3 k
  MOV AH,0
1 J! y" J0 T' _, V5 \6 f8 g- a  AGN0: MOV AH,[SI]4 N" X4 d( \! Z
  ___________________________4 _$ m2 [9 A) R6 u9 U# k$ T
  AND AL,0FH
- L! T: x  i7 e' T& @' M  ___________________________
( \, p2 r: S9 x2 B  ~2 g* q  PUSH CX
: @1 ~+ n: n# c9 ]1 v  MOV CX,48 ^7 t* M5 B0 n
  AGN1: ________ AH,1
2 Z/ Z. l; e4 J  LOOP AGN1
+ M2 q8 ]+ l# s3 M% r; _  POP CX; H7 m) ]6 U, B3 o! u
  MOV BL,AH
' t  Q& _  T1 m: X) P4 @  ___________________________6 R: i9 h( ~* \) g: p4 |5 R; C) V
  MOV BL,AL9 [# d/ P/ P+ g0 D
  ___________________________
# B1 ?) O, K2 v* M" A  INC SI
, P3 O. K* j( }- j  NEXT: LOOP AGN0( ~6 O, V4 |) [7 Y" k
  ;****END****
3 C5 v2 W  ?0 i5 w7 F  LEA DX,RESULT ;结果数据区首址
) @6 q; G- r. k  LEA SI,NAME1 ;结果文件名
$ x6 D8 ~, ]% b. D- y# h6 o- G  MOV CX,N*2 ;字节数5 m6 R# e" b- W5 `) p: J, p
  CALL SAVE ;保存结果到文件; @9 ^2 r' L: t
  RET! b) Z5 w8 e) }! c& q/ ~- v1 ]
  START ENDP
8 ]& `% F4 g7 i) g5 f5 U  CODE ENDS4 m. W( L7 b9 B. _" h" d
  END START
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-18 10:58 , Processed in 0.169857 second(s), 21 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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