a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 67|回复: 0

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

[复制链接]
发表于 2012-7-31 20:55:16 | 显示全部楼层 |阅读模式
 请编制程序,其功能是:内存中连续存放着20个无符号字节数序列,请将它们排成升序(从小到大)。  例如:( y0 e& H) C1 G/ F+ n$ Z  R
  内存中有 01H,04H,02H…(假设后17个字节均大与04H)
- x1 {4 h; ]# q6 K  结果为 01H,02H,04H…(后跟17个字节,按从小到大的顺序排列)
/ x( _, p7 f/ e; I, q' Y  部分程序已给出, 其中原始数据由过程LOAD从文件INPUT1.DAT中读入SOURCE开始的内存单元中。运算结果要求从RESULT开始存放,由过程SAVE保存到文件OUTPUT1.DAT中。
" C9 Q% A- X! e$ J  填空BEGIN和END之间已给出的一段源程序使其完整(空白已用横线标出,每行空白一般只需一条指令, 但采用功能相当的多条指令亦可),或删除BEGIN和END之间原有的代码并自行编程来完成要求的功能。
- E) T# i/ Q+ A: _; L  对程序必须进行汇编,并与IO.OBJ链接产生PROG1.EXE执行文件,最终运行程序产生结果(无结果或结果不正确者均不得分)。调试中若发现整个程序中存在错误之处, 请加以修改。6 c* m8 q- Z: Q) t8 ^  j
  试题程序:  ^! R+ M1 l( W. m+ C
  EXTRN LOAD:FAR,SAVE:FAR
- W' n$ L, F% \6 A( H4 j  N EQU 20
4 x/ ?5 ]2 k% y2 o0 b! l  STAC SEGMENT STACK
2 _; O7 N, ?9 `2 {  DB 128 DUP(?)( j  d7 y, i, M) y( Z/ _
  STAC ENDS
9 u& {# @8 M' R1 I; p( N, F* Z! _( a  DATA SEGMENT
6 b  p. c5 s' O7 ]& r1 ~  SOURCE DB N DUP(?)
6 V) |: N, Q: ?) c2 M  RESULT DB N DUP(0)
. ~/ \. c9 S! R  NAME0 DB 'INPUT1.DAT',04 F- }3 @! S- t/ D% Q  p( f6 O' i
  NAME1 DB 'OUTPUT1.DAT',0
7 a3 A* u/ `7 _% {  DATA ENDS
4 t; B0 @  Y& a: W. |( L. F  CODE SEGMENT
& k/ O' I. n& ]) f0 C) b  ASSUME CS:CODE,DS:DATA,SS:STAC
  U& y" W/ f& U4 G( W' A" t* ^  START PROC FAR( |7 J+ Q; `% [
  PUSH DS& h1 ~' `6 @# ]1 b& C) i- r% Q# x
  XOR AX,AX1 h* K0 K" b! c: L  q; R
  PUSH AX# ^  E7 U# s* z, A, G. |' @5 i
  MOV AX,DATA, r7 `; i* u8 G
  MOV DS,AX
( t  N+ V  H" I% l& v/ u8 u/ s  LEA DX,SOURCE ;数据区起始地址
  C$ I7 }7 C8 k% k  LEA SI,NAME0 ;原始数据文件名/ }* \; b3 c% R* y  J
  MOV CX,2*N ;字节数
7 a4 Q- L. L4 b) E7 W" v  CALL LOAD ;从'INPUT1.DAT'中读取数据- ]% G$ v  V2 K: R2 q
  ;****BEGIN****9 J' d. E% }9 s/ k8 x  Q( T& G
  LEA SI,SOURCE
7 N0 C2 U+ Y0 @' S! a, s  LEA DI,RESULT' k# _6 I) ~& _. T# Q$ B
  MOV CX,N
& d- }* [% e. [" `  NEXT0: MOV AL,[SI], U* W1 |# ~0 O% J" ~- s, A" s
  MOV [DI],AL9 g9 ^& y# J! J+ _" }3 w& L2 ]. I
  INC SI2 ^, o: |8 E% s
  ___________________________8 M% }5 M) @& M9 |$ u
  LOOP __________________
9 W6 V9 o0 Z3 a% ^. ]  CLD
2 f' N3 ~$ n9 C9 N5 P) S  MOV BX,_______________* E9 ]: u0 w% P
  NEXT1: LEA SI,RESULT& m3 @) B# ^, k& M2 v) Q# o/ M
  MOV CX,BX
! I3 z2 f9 D. G  NEXT2: LOD_________________________
0 s/ V1 Q6 ~8 S7 h; C  CMP [SI],AL
& E3 O* d# P4 r0 ^( P  JAE ___________________
7 d" J) l6 m3 C. Z/ q  XCHG [SI],______________
6 s4 I* y0 g1 [  MOV [SI-1],AL4 l* c: i% r- {. d
  NEXT3: LOOP ___________________
7 K# J3 i4 N# S% o8 L  DEC ___________________! g$ [: R5 |4 r; l4 j, K
  JNZ ___________________
: f  ?, J& u7 f6 j: g& [  ;****END****+ S4 z) B9 S5 ^0 Z+ e0 Z" }+ g
  LEA DX,RESULT ;结果数据区首址! O4 B6 B% D& |6 W
  LEA SI,NAME1 ;结果文件名8 o. L7 s9 T1 t9 T( A& M* @: g! q
  MOV CX,N ;字节数
3 V( P6 ~, @8 D  Z  CALL SAVE ;保存结果到文件/ }) `! b* g8 D. z
  RET4 ?& n- u5 z  g+ y
  START ENDP
7 m( h# a! a0 C* I% K  CODE ENDS, m! c% ~" u5 _% P) w3 t8 X0 l( ^
  END START
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-22 12:36 , Processed in 0.297081 second(s), 21 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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