a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 68|回复: 0

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

[复制链接]
发表于 2012-7-31 20:55:16 | 显示全部楼层 |阅读模式
 请编制程序,其功能是:内存中连续存放着20个无符号字节数序列,请将它们排成升序(从小到大)。  例如:
& ~+ p7 t  T4 D) ?) a4 i  内存中有 01H,04H,02H…(假设后17个字节均大与04H)
4 m+ Z) h2 W  |: C! B9 W( O  结果为 01H,02H,04H…(后跟17个字节,按从小到大的顺序排列)
2 c8 l, \6 x) L( K7 f* C% G  部分程序已给出, 其中原始数据由过程LOAD从文件INPUT1.DAT中读入SOURCE开始的内存单元中。运算结果要求从RESULT开始存放,由过程SAVE保存到文件OUTPUT1.DAT中。( J3 l5 Q4 w8 R- p: m! x4 r# p( O
  填空BEGIN和END之间已给出的一段源程序使其完整(空白已用横线标出,每行空白一般只需一条指令, 但采用功能相当的多条指令亦可),或删除BEGIN和END之间原有的代码并自行编程来完成要求的功能。6 c  d% K# Q: z8 _
  对程序必须进行汇编,并与IO.OBJ链接产生PROG1.EXE执行文件,最终运行程序产生结果(无结果或结果不正确者均不得分)。调试中若发现整个程序中存在错误之处, 请加以修改。
' q" N1 {" W% q5 S  试题程序:: a+ D6 I3 Z& }- m$ W' ^  B
  EXTRN LOAD:FAR,SAVE:FAR
" D% p7 M* f( D, R, q8 u  N EQU 20
$ D1 `1 D* S' y" M6 j: y& ]  STAC SEGMENT STACK0 c) e3 N) [4 a7 l- d
  DB 128 DUP(?)
, B8 }" q# g  U% B5 P  STAC ENDS  _/ N' a7 Z. k5 t& b
  DATA SEGMENT
; L0 O1 K, s: G! n3 ^# f2 U  SOURCE DB N DUP(?)8 ~) L7 b  y" I0 i) c
  RESULT DB N DUP(0)/ ]: K) m* R9 I5 _% _: z
  NAME0 DB 'INPUT1.DAT',0: J1 e3 c. f, H
  NAME1 DB 'OUTPUT1.DAT',02 M) l8 S) H" t3 ]5 n
  DATA ENDS& C1 F) l# f2 U/ R! S" c/ c
  CODE SEGMENT( p7 Y1 x( K. k( }9 S1 t
  ASSUME CS:CODE,DS:DATA,SS:STAC) D# O# L" I- I4 ?$ n/ i/ n
  START PROC FAR
! U, ]2 q  \, E/ `  PUSH DS
1 r# f, |# o& J3 y' o2 k  t/ R  XOR AX,AX1 u* I; G) @5 W% Y0 w2 N" h8 I
  PUSH AX/ ^$ E' b( d0 ~* G. f) k2 i
  MOV AX,DATA
. f; z" x3 i4 r$ J+ d  MOV DS,AX5 D( e; L7 ~6 d6 h/ @
  LEA DX,SOURCE ;数据区起始地址- _& `4 T* s) h( S& A5 T
  LEA SI,NAME0 ;原始数据文件名: B6 Z  y5 z' i# P- n) g* S1 e1 m
  MOV CX,2*N ;字节数5 j1 M$ ?. `9 o5 k, z9 v
  CALL LOAD ;从'INPUT1.DAT'中读取数据" e' `& W: g' r
  ;****BEGIN****# W: L. V9 }2 Z7 o
  LEA SI,SOURCE: n' N: ^1 @, g8 {- D% T& Y
  LEA DI,RESULT
6 D: _% R" I$ {  MOV CX,N
6 c% F0 F+ |5 G  NEXT0: MOV AL,[SI]
' J# \2 [6 J5 ]: r! q: E9 s  MOV [DI],AL3 p- B, v  R7 o9 [- j# ]+ ]% c
  INC SI! J8 s& |  P4 ~
  ___________________________
8 n6 P! a, S" e- ^: z4 V% R  LOOP __________________) d4 W5 y% i, D5 x
  CLD
" n6 z" g% N0 N$ b  MOV BX,_______________; l* E4 g4 w" N# g8 \3 U
  NEXT1: LEA SI,RESULT: |% R  N! S2 ~: c9 f
  MOV CX,BX- d4 M' K" [0 k
  NEXT2: LOD_________________________
/ p& x' {+ q1 W/ g# H% @1 J% a$ f  CMP [SI],AL
, P6 m+ B* |$ H4 D  JAE ___________________. t4 c8 [2 u! R6 k4 v, y
  XCHG [SI],______________
4 X4 x3 I; N; n4 [7 g  MOV [SI-1],AL8 }! R# {$ e( t0 G
  NEXT3: LOOP ___________________7 N* M, |, L& |9 O' d
  DEC ___________________/ ^) f- R; w, M- s
  JNZ ___________________: z6 P# Y! A" }9 f& b
  ;****END****/ f; {6 {! O" R5 [+ d" h# @! T# u
  LEA DX,RESULT ;结果数据区首址
* O; g, F/ Z9 f# I# g' c) }  LEA SI,NAME1 ;结果文件名) o7 s" q( R/ ]: z& Q0 e
  MOV CX,N ;字节数4 R9 o5 u7 w/ U) O2 A9 u
  CALL SAVE ;保存结果到文件
& W3 N2 D; F+ S( ~  RET0 f  x. \# }( ?5 {9 c1 p' l
  START ENDP
3 I+ T5 ^+ L: X  V9 A- m9 N9 `  CODE ENDS
8 f4 z: x- t2 J, D- N: H  END START
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-6-2 23:48 , Processed in 0.224063 second(s), 21 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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