a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 77|回复: 0

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

[复制链接]
发表于 2012-7-31 20:55:16 | 显示全部楼层 |阅读模式
请编制程序,其功能是:内存中连续存放着20个十六位二进制无符号数序列,请将它们排成升序(从小到大)。  例如:) |. u8 H% \, Q0 I
  内存中有 7001H,7004H,7002H…(假设后17个字均大与7004H)
5 {; [. O% ]3 D' q+ |3 T; b  结果为 7001H,7002H,7004H…(后跟17个字,按从小到大的顺序排列): ?9 b3 |8 q$ o9 Z8 p
  部分程序已给出, 其中原始数据由过程LOAD从文件INPUT1.DAT中读入SOURCE开始的内存单元中。运算结果要求从RESULT开始存放,由过程SAVE保存到文件OUTPUT1.DAT中。" B( F; c3 Y2 `# W' L
  填空BEGIN和END之间已给出的源程序使其完整(空白已用横线标出,每行空白一般只需一条指令, 但采用功能相当的多条指令亦可),或删除BEGIN和END之间原有的代码并自行编程来完成要求的功能。
! d/ a+ R3 D4 }; J% Z9 m  对程序必须进行汇编,并与IO.OBJ链接产生PROG1.EXE执行文件,最终运行程序产生结果(无结果或结果不正确者均不得分)。调试中若发现整个程序中存在错误之处, 请加以修改。6 `7 O( ~! s3 Y9 z4 ?$ a
  试题程序:
; I1 N) W4 I  F7 \3 r! ~  K( h" Z  EXTRN LOAD:FAR,SAVE:FAR
1 ], @$ @3 C$ \9 q% A! h  N EQU 20
5 {0 B; U. u4 l$ D5 U$ J6 F9 _' w" P  STAC SEGMENT STACK
, Q; T0 t; e# z3 [5 x: D0 V  DB 128 DUP(?)5 O5 U* A& W) X3 y3 ?( E$ h4 ~
  STAC ENDS
0 h7 M% |8 e/ d$ X5 y0 o1 ^6 e  DATA SEGMENT
3 T& [# c4 B! m" `6 F" i2 c; s  SOURCE DW N DUP(?)+ z" z- b9 k2 B) M" ~+ S
  RESULT DW N DUP(0)# X. V' r3 P7 Z$ q0 P  F
  NAME0 DB 'INPUT1.DAT',0/ K: m  C+ P! J9 S* X( n( S9 i. }
  NAME1 DB 'OUTPUT1.DAT',0; K3 ?/ s5 L  w4 Z6 s1 R( V
  DATA ENDS% R& ^. @+ i+ ]+ L, ^7 ?
  CODE SEGMENT- p7 C6 s  Z* d! _4 h1 A
  ASSUME CS:CODE,DS:DATA,SS:STAC
9 s  ?  }6 I' J  z# H8 ?  START PROC FAR+ A0 M, [! U4 ]7 @" I+ m
  PUSH DS& J8 D- I! o( [
  XOR AX,AX
: {+ F8 [! v! i$ h6 ?7 h  PUSH AX7 V% Z! t5 @) v1 r
  MOV AX,DATA+ B$ B/ p% c, C
  MOV DS,AX
0 z' o- |7 t4 e8 H  LEA DX,SOURCE ;数据区起始地址
5 w# I, G9 J" y* b5 P/ m  LEA SI,NAME0 ;原始数据文件名
  K1 {4 j7 n/ ^9 A, ~( C  MOV CX,N*2 ;字数( o/ V6 c) m3 I9 ^. @5 X
  CALL LOAD ;从'INPUT1.DAT'中读取数据' @  V* t$ y% E7 {0 J& w5 B
  ;****BEGIN****
8 L+ S, W0 f- r( y& p  LEA SI,SOURCE
5 m) f" I7 H" ?7 R* j) P4 }  LEA DI,RESULT& n7 Z9 ?  M6 Y  k; M
  MOV CX,N
+ P0 V. y9 k7 j& C1 o  NEXT0: MOV AX,[SI]- W2 v4 M; y  f1 `+ E/ @
  MOV [DI],AX1 |: o& u; O( f8 X1 v; H# D
  ADD SI,_________
1 u' G9 j; [6 x) [& ^  _____________________  Y- S+ ^: I; e) s" j
  LOOP ____________
$ _  A* J) `& |. [8 {2 }8 l  CLD& U* E, L! z+ E* c" h
  MOV BX,N-1& w  t! O. l" P' c# S/ X
  MAL1: LEA SI,RESULT' \/ v7 g; l) x8 y
  MOV CX,_________
- ]* H$ C4 P( w  NEXT: LOD______
) S( E/ n! A. p- C! W& x, e8 U  CMP [SI],AX
- e3 ?) U4 x' q+ R) N  JAE CONT
4 @  I' g, h7 T6 f1 Y3 o: y: |7 O  XCHG [SI],__________
: Y) b! T( H8 K( z/ U) E  MOV [SI-2],AX1 j' q* C7 b: x. g) z! j" _
  CONT: LOOP _______________/ p5 ^! e$ a$ K0 c6 i# u
  ________________________
% [$ f% L7 h8 i2 M* Z3 w  ________ MAL1
- x: o: ^1 S3 x9 W& |+ W  ;****END****7 G  c% M- O9 }1 k
  LEA DX,RESULT ;结果数据区首址  o  p' \1 x. K# v# d8 P& V. z6 T* \
  LEA SI,NAME1 ;结果文件名4 K0 p8 Z, u6 p3 y0 v
  MOV CX,N*2 ;结果字节数
, R2 `8 U1 t* x0 t& Z  CALL SAVE ;保存结果到文件
. I0 R) y- e8 ^- Q  RET; y% j" [' K  g; {* ]
  START ENDP
% Q9 Z: u8 z! t" _1 ?  CODE ENDS
4 X% r3 {2 p. s  END START
回复

使用道具 举报

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

本版积分规则

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

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

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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