a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 68|回复: 0

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

[复制链接]
发表于 2012-7-31 20:55:16 | 显示全部楼层 |阅读模式
 请编制程序,其功能是:内存中连续存放着20个无符号字节数,求它们的和。和值按字的形式存放,此前先按序存放参加运算的20个字节。  例如:
4 _+ b* v+ H( ?+ Q3 b  内存中有: 01H,02H,03H…/ }/ D- M1 Y2 O. `! G6 }
  结果为: 02H,02H,03H…(共20 个参加运算的字节),后跟一个字(为前面各20 个字节的和)。7 g. S2 \5 A' `! l! I
  部分程序已给出, 其中原始数据由过程LOAD从文件INPUT1.DAT中读入SOURCE开始的内存单元中。运算结果要求从RESULT开始存放,由过程SAVE保存到文件OUTPUT1.DAT中。
" p7 w# Z" Y7 V4 H9 a8 \  填空BEGIN和END之间已给出的一段源程序使其完整(空白已用横线标出,每行空白一般只需一条指令, 但采用功能相当的多条指令亦可),或删除BEGIN和END之间原有的代码并自行编程来完成要求的功能。% H3 P! z7 G  f4 a5 c- n& C3 ~
  对程序必须进行汇编,并与IO.OBJ链接产生PROG1.EXE执行文件,最终运行程序产生结果(无结果或结果不正确者均不得分)。调试中若发现整个程序中存在错误之处, 请加以修改。6 ~; p& f2 t; n6 O9 s, H1 d
  试题程序:, }# r- G! A) v9 d+ X1 l
  EXTRN LOAD:FAR,SAVE:FAR
9 j% \4 n7 o) g4 _2 f. I& R  u* g, p/ s  N EQU 20% p* G% I0 }+ f+ R! k
  STAC SEGMENT STACK
5 m! F- f& X- x: b, @1 @. }! b0 |; u  DB 128 DUP(?), K; B2 r" J5 K4 P" {% ]
  STAC ENDS$ p$ U, ]# ^+ i7 X1 [+ X
  DATA SEGMENT
' s1 z1 A5 p4 {7 W. ^- W  SOURCE DB N DUP(?)
: F7 y- R. I" G( R; t" K+ K  RESULT DB N DUP(0)4 |& b; a1 z8 ~: R  k
  NAME0 DB 'INPUT1.DAT',0
9 L1 Z: |# v. _5 _% ]  NAME1 DB 'OUTPUT1.DAT',0
1 ^. M5 P+ |% U8 l1 M+ \0 X  DATA ENDS6 U9 O0 c2 @" s. s4 Q
  CODE SEGMENT
: @! A- ]$ X6 E1 B, G  ASSUME CS:CODE,DS:DATA,SS:STAC& U* R6 k0 r( t! o  n+ Y$ g; {
  START PROC FAR
  M7 J7 Y9 ^% {8 T  PUSH DS
% X5 J# y. b4 x  XOR AX,AX
3 A) \8 d# f2 _% H( n3 E6 x1 o  PUSH AX; l7 v' Q' G& |* ]2 c0 c! u
  MOV AX,DATA
; @4 e2 }# A; J  ~: v  MOV DS,AX3 e+ A* Q4 M3 i6 k
  LEA DX,SOURCE ;数据区起始地址" i6 Q* o# t! [9 q
  LEA SI,NAME0 ;原始数据文件名7 B2 @3 m, y2 O* p2 q. i
  MOV CX,N ;字节数
- Y9 c5 K# `" n+ `  CALL LOAD ;从'INPUT1.DAT'中读取数据; |' u) J/ h8 h; T  W. Z3 r2 i
  ;****BEGIN****7 k0 e7 p$ a7 k7 q- p, C2 ~- ?+ `
  LEA SI,SOURCE
6 @7 q. U, `7 u4 D  LEA DI,RESULT
: Z% t; s& b. ]6 y; c8 Y" r  MOV CX,N% Q. [. Z8 h' \% _2 Y/ N
  MOV BX,0, f9 n, h+ ]8 ^  T3 L
  NEXT: MOV AL,[SI]
! Z" z! C4 h& b" Y& {  XOR BX,BX
, M. `/ R! O# I' g0 F$ @' J* Z( D  __________________________
6 O6 t9 d5 f+ P; r. L2 d1 ?  __________________________
; |$ o, j' L* Z0 f* D9 ?. W  MOV [DI],____________+ J2 A) C. N7 s
  __________________________
8 Z: I- d# t* @6 ?" v  __________________________
* w( ^. e; g+ Q% V+ O9 }  LOOP NEXT
. B5 t$ C5 Q- p1 g  O2 [8 [/ m  MOV [DI],____________5 f8 S2 U' ]# z
  ;****END****, r; w1 v5 j2 ^. D3 O7 n
  LEA DX,RESULT ;结果数据区首址
2 e" M. f. v2 j2 h7 B9 j  LEA SI,NAME1 ;结果文件名/ q4 @! i. d6 P
  MOV CX,N+2 ;字节数, D0 ~+ u, Q& R4 F
  CALL SAVE ;保存结果到文件
( y# i+ I4 O$ E5 c; a9 D) X  RET: m1 P# c& K  A0 O9 k4 l
  START ENDP" B0 n5 n0 Z7 ^- W9 d
  CODE ENDS% ^4 _/ n. {/ x$ z9 r0 o
  END START
回复

使用道具 举报

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

本版积分规则

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

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

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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