a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 69|回复: 0

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

[复制链接]
发表于 2012-7-31 20:55:16 | 显示全部楼层 |阅读模式
 请编制程序,其功能是:从0行0列开始,依次取出N阶矩阵中对角线上的元素(字节型)并计算累加和(字型),然后将其存放在指定的内存区中。  例如:
7 a9 c- n- S7 I' q2 [1 A0 e# C  内存中有 1,1,1(第一行),2,2,2(第二行),3,3,3(第三行)) g% H6 m  y8 b0 l& X/ W: D% e& G5 ~
  结果为 01H,02H,03H,06H,00H
' e; r" ~7 F, b2 D1 I; O9 z  部分程序已给出, 其中原始数据由过程LOAD从文件INPUT1.DAT中读入SOURCE开始的内存单元中。运算结果要求从RESULT开始存放,由过程SAVE保存到文件OUTPUT1.DAT中。
" g6 |* A4 m' S7 J- \6 i9 l" H  填空BEGIN和END之间已给出的一段源程序使其完整(空白已用横线标出,每行空白一般只需一条指令, 但采用功能相当的多条指令亦可),或删除BEGIN和END之间原有的代码并自行编程来完成要求的功能。6 u0 C! y2 C" O4 }
  对程序必须进行汇编,并与IO.OBJ链接产生PROG1.EXE执行文件,最终运行程序产生结果(无结果或结果不正确者均不得分)。调试中若发现整个程序中存在错误之处, 请加以修改。1 n# _! }2 _' N  \( t
  试题程序:
6 |* E/ D! F  Y  Y! [  EXTRN LOAD:FAR,SAVE:FAR; b) K+ B6 I4 g3 O2 a
  N EQU 10
! Q& Q8 j3 D: W+ }  DSEG SEGMENT- Z  e& \7 a- J% G+ h3 T5 q6 D& B  L  a" t
  SOURCE DB N*10 DUP(?)
/ S3 S& Z9 \% U6 y; x+ J# i  RESULT DB (N+2) DUP(0)! Y7 b. c9 j8 x" r
  NAME0 DB 'INPUT1.DAT',0$ Z4 M6 r* j6 z0 n$ C, ]; P4 B1 X, n
  NAME1 DB 'OUTPUT1.DAT',04 n0 I* X: {" F3 z" Z/ c
  DSEG ENDS8 f% a2 t+ n2 y' d+ G
  SSEG SEGMENT STACK
6 ^1 f( J- b$ q* n4 c0 t  DB 256 DUP(?)
# S3 ]. v# U$ K" z  SSEG ENDS
" S' a, E3 h, ~/ |1 ]  CSEG SEGMENT
; _. R- M( A4 D  ASSUME CS:CSEG,SS:SSEG,DS:DSEG,ES:DSEG1 l9 V( s/ D  l7 T$ v5 [
  START PROC FAR9 `) \( r9 Q0 W) |( g
  PUSH DS
! P. G2 W& W6 {& u6 Q2 U/ Q  XOR AX,AX% O- j1 O# [6 Q& w2 W) L% F
  PUSH AX8 q& q; Z# d% }. O8 Q+ M0 v# S1 l
  MOV AX,DSEG  ?7 w! \& I2 e$ @! P5 V
  MOV DS,AX- Y  R- v- y6 |
  MOV ES,AX
& ]& A* r0 v+ i# S4 c  LEA DX,SOURCE ;数据区起始地址' u2 y# N& _5 @
  LEA SI,NAME0 ;原始数据文件名
2 t; X* n' \5 ^  MOV CX,N*10 ;字节数1 k5 Z" _6 N6 Q0 p7 L1 \7 a' q
  CALL LOAD ;从'INPUT1.DAT'中读取数据' h8 {- B" S8 T2 F0 C5 y
  ;****BEGIN****
& l4 l2 M. L8 k4 X/ f/ g  LEA DI,RESULT
' x+ }0 N8 N' l5 P  MOV CX,0# m' o0 s2 K5 f% e- N
  MOV DH,0 ;行
6 u& m, e7 R4 D7 \  MOV DL,0 ;列% q8 F# P4 V3 A  B! B- W
  NEXT: MOV AL,N* l0 R$ E4 S8 T" ~' }7 H; M) B  [
  MUL ___________________* }: E5 n4 r9 z9 O" s
  MOV BX,AX% Q$ t7 Q5 V2 C- x2 D
  MOV AL,DL0 |3 C# z& ?; M$ p4 t9 `  U
  ____________________________& g8 }6 o# n  w6 ^  {% E* G
  MOV SI,AX ;列号送SI9 ^8 \6 j. U) v$ X/ q& I0 c
  MOV AL,________[BX+SI]+ X! t  a2 i3 S5 n! m
  MOV [DI],AL
7 g0 s1 r$ Q( \& O* `/ P' u. ^  ADD CL,AL# g6 ]0 G( M2 M- f* z' w4 v; {1 H
  ____________________________( e2 }/ l7 B! T" x1 `
  INC DI( s7 Q! x5 d! H) x) o
  INC DH( E- ^% d( y" I4 F# G7 X  K" p
  INC DL
  {+ q- ~3 x! a) n7 t- n  CMP DL,________________+ N% Z9 M8 u5 N. w' W* ?
  JNE NEXT
4 y  m$ _* r' U$ U  MOV [DI],CX
" Z' P- E6 Y- N" j5 b( g  ;****END****( e5 _( Y# b% P+ k" Z
  LEA DX,RESULT ;结果数据区首址
* E0 E* U0 a( N. |5 E  LEA SI,NAME1 ;结果文件名
, P( T* {2 m( R" @  MOV CX,N+2 ;字节数) ?. q* u: W& r7 u) y6 q6 ~7 b% C( D
  CALL SAVE ;保存结果到文件
9 E+ [& M1 O1 S2 m' k  RET
( _/ `/ ?  O( L% ]7 Q3 V/ d  START ENDP' _, ]) d5 L8 D% |: q; J% P! t
  CSEG ENDS5 n8 v( \- m9 B/ g, m' E3 s) v
  END START
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-18 16:37 , Processed in 0.201970 second(s), 21 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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