a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 49|回复: 0

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

[复制链接]
发表于 2012-7-31 20:55:16 | 显示全部楼层 |阅读模式
 请编制程序,其功能是:内存中连续存放着10个无符号16位二进制数,现采用近似计算法求此10年数的近似平方根,其方法为:令某个数X依次减去1、3、5、7、9…等奇数,一直减到差值刚刚小于等于零为止,计算出所作的减法次数Y,即为该数X的近似平方根。得到的结果存入内存。  例如:' O5 x9 B6 [0 t' @
  内存中有 0100H,0200H…. c8 M2 u6 w% S
  结果为 0010H,0016H…
  _  @: i9 C6 a- e- Z  K' V  部分程序已给出, 其中原始数据由过程LOAD从文件INPUT1.DAT中读入SOURCE开始的内存单元中。运算结果要求从RESULT开始存放,由过程SAVE保存到文件OUTPUT1.DAT中。8 h& ^0 F& y0 y$ ^
  填空BEGIN和END之间已给出的一段源程序使其完整(空白已用横线标出,每行空白一般只需一条指令, 但采用功能相当的多条指令亦可),或删除BEGIN和END之间原有的代码并自行编程来完成要求的功能。, m$ C# I8 N* n0 V
  对程序必须进行汇编,并与IO.OBJ链接产生PROG1.EXE执行文件,最终运行程序产生结果(无结果或结果不正确者均不得分)。调试中若发现整个程序中存在错误之处, 请加以修改。
* I: `' g# E+ v: c: I  试题程序:
8 q- g8 `7 c0 [; s! B  EXTRN LOAD:FAR,SAVE:FAR
# l$ E! L. v& R6 z  N EQU 10# h7 ]# i: \8 @) u7 Z
  STAC SEGMENT STACK
* `$ G2 m9 H8 R1 C" e  DB 128 DUP(?)
" Y, x9 m2 s) Z8 r0 S1 ~9 ~- O  STAC ENDS
* _) r/ J) g1 t* w  DATA SEGMENT
. S$ u- b2 y/ l( U8 e  SOURCE DB N DUP(?) ;顺序存放10个字节数
* E  ]% H* x. L: _% V  RESULT DB N DUP(0) ;存放结果
) c* Q$ t% q1 u+ }  C' }  K; o  NAME0 DB 'INPUT1.DAT',08 `' _; Q8 H9 q3 N3 G0 C% t
  NAME1 DB 'OUTPUT1.DAT',0! t- Q. m9 ~1 |/ A% O. C- l+ I
  DATA ENDS3 |! g( \- Y0 @
  CODE SEGMENT
( y  O+ E% ]5 `; |" s  ASSUME CS:CODE,DS:DATA,SS:STAC2 c: \* T: R' i! U6 G
  START PROC FAR1 u5 F4 a6 I. {. `- Q/ L, c' K( O. x
  PUSH DS+ I7 a7 F, B) x! W
  XOR AX,AX. j1 f: R) f$ ~' O6 P1 T7 Q" `7 ?
  PUSH AX# o) C$ u+ b( d2 f0 }% B2 K
  MOV AX,DATA
# g% y; r, W9 O0 w2 Z+ G  MOV DS,AX
2 H) P: ~8 t3 Y4 j  LEA DX,SOURCE ;数据区起始地址; K+ D; J. E( Y7 n
  LEA SI,NAME0 ;原始数据文件名5 v  Z3 V* l! T6 ]4 c
  MOV CX,N*2 ;字节数
. U( f" ?- x! j8 g5 q- J  CALL LOAD ;从'INPUT1.DAT'中读取数据7 X: u: l. Z: ?7 n8 c- Y# P
  ;****BEGIN****% o: j- Q5 r; n
  LEA DI,RESULT' ]; F* D) Z8 H4 O" z8 C! m* @
  LEA SI,SOURCE: C- Q5 F% N! j; t: X
  MOV CX,N
3 t" A% p" y. F1 u0 g  E  AGN0: MOV AX,[SI]
. d' K: q- E1 O  MOV BX,0+ N9 h3 C" c# D5 H
  AGN1: __________________________
  p% |9 v* m8 B. n  SUB AX,BX
! F- @: z  W' t0 V* t  ________ STORE05 g) M5 _2 H/ |! i4 w$ W
  __________________________
3 E9 D7 v3 |* X2 z) C+ i# {2 [  JMP AGN17 Y% n, V1 t* [3 r
  STORE0: INC BX# _3 G2 u5 W2 n8 K+ L7 m
  __________________________. w: @2 y" a. m% W/ l" f+ t
  MOV [DI],BX' x5 n: d$ Y+ S4 l0 N  K
  INC DI
1 ]: t# e$ h* Q9 ^8 k  __________________________( D" l: G- y. \, ^3 W; K; `/ S
  INC SI
( d/ \- w  ~+ a- W, S# `! c  __________________________
* b4 m+ b% F  k# L7 I' I  LOOP AGN0
: H! U& L5 F1 N" Z( \! u  ;****END****, C; C" z- R; d6 n6 o
  LEA DX,RESULT ;结果数据区首址
! z0 v4 \! i# d" w" Z1 U- i  LEA SI,NAME1 ;结果文件名
  C7 U5 |+ c* J+ B4 B: q( R/ X$ B6 X  MOV CX,N*2 ;字节数
8 H3 ^( C) m5 e6 j' y7 p  CALL SAVE ;保存结果到文件& g3 G/ E! }& ]. E
  RET2 O) S8 j) L3 z& }" J# V
  START ENDP. @$ Q. G( m4 d! {
  CODE ENDS+ y" {; c, U. `% D' m
  END START
回复

使用道具 举报

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

本版积分规则

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

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

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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