a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 78|回复: 0

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

[复制链接]
发表于 2012-7-31 20:55:16 | 显示全部楼层 |阅读模式
请编制程序,其功能是:内存中连续存放着20个十六位二进制无符号数序列,请将它们排成升序(从小到大)。  例如:
. q1 O( s; ?  _  内存中有 7001H,7004H,7002H…(假设后17个字均大与7004H)
/ A# X* l+ f+ j4 H) o  结果为 7001H,7002H,7004H…(后跟17个字,按从小到大的顺序排列)  R" L- L8 w& k! [0 x$ X7 ~
  部分程序已给出, 其中原始数据由过程LOAD从文件INPUT1.DAT中读入SOURCE开始的内存单元中。运算结果要求从RESULT开始存放,由过程SAVE保存到文件OUTPUT1.DAT中。
1 c, h; |- o. g# Q  填空BEGIN和END之间已给出的源程序使其完整(空白已用横线标出,每行空白一般只需一条指令, 但采用功能相当的多条指令亦可),或删除BEGIN和END之间原有的代码并自行编程来完成要求的功能。4 `$ ]# m* C: v* c9 n$ x  k, x) d2 j
  对程序必须进行汇编,并与IO.OBJ链接产生PROG1.EXE执行文件,最终运行程序产生结果(无结果或结果不正确者均不得分)。调试中若发现整个程序中存在错误之处, 请加以修改。
0 Y# }3 z5 x' Y4 g) X: e  试题程序:+ s6 N2 l# v# l$ a1 ^- o+ i/ P
  EXTRN LOAD:FAR,SAVE:FAR, Y* N# A/ ~/ W$ n; [1 \
  N EQU 20
* Z3 K: f' F0 g3 \/ U5 y1 h& ~  STAC SEGMENT STACK5 J7 [4 Z) y! J8 U6 u
  DB 128 DUP(?)9 o2 a$ J# e- ]% S
  STAC ENDS
4 k8 e8 Q$ D) L; d: [- Y5 Y  DATA SEGMENT0 O1 x4 a$ d9 [, \: o
  SOURCE DW N DUP(?)
8 E; A3 ?' h  W! z% I' @; o' F  RESULT DW N DUP(0)
2 ^/ W0 l- t) ^" {  NAME0 DB 'INPUT1.DAT',0" m) S% J' g1 B
  NAME1 DB 'OUTPUT1.DAT',0# x+ ~% G2 t9 R  P
  DATA ENDS' b! ~( j7 a9 }2 a% m/ L
  CODE SEGMENT
1 E; S% P3 B5 v: n8 \1 ?, x: |- e  ASSUME CS:CODE,DS:DATA,SS:STAC
2 D8 v' i7 V, c# [6 k. M1 F/ _' K* h  START PROC FAR
( r7 q0 }5 L* b+ A! O  PUSH DS
2 E6 G$ L1 n: T) q2 l: A  XOR AX,AX5 Q* n7 ]. e7 n
  PUSH AX
, V9 F( b! O% k, |: X4 I  MOV AX,DATA) T! Z( F9 I) i/ h1 p- A# m/ P
  MOV DS,AX% Y' S- D4 g" p1 G- l" n
  LEA DX,SOURCE ;数据区起始地址
" Z% C2 e# m- s& G% T& ~  LEA SI,NAME0 ;原始数据文件名
' V0 E: ^3 S2 y* g+ C3 m  z' E) d  MOV CX,N*2 ;字数  _. z, y6 z" T) N7 Q( d. A
  CALL LOAD ;从'INPUT1.DAT'中读取数据
* b, J: ^9 N& a3 k1 P  ;****BEGIN****
+ ]- @4 w# \% x# T( J  LEA SI,SOURCE
1 y0 e' S! B8 p4 p; Q  LEA DI,RESULT& n( j( w. v/ Z  F
  MOV CX,N
& x( m5 }( H" g, F8 l  NEXT0: MOV AX,[SI]& D  r( p5 m( p2 B
  MOV [DI],AX5 i5 }4 s) @: O8 l$ h
  ADD SI,_________
4 E% v% b0 d8 f% V( T1 G  _____________________
2 U; B; e! A- s$ D2 J) C% [9 s/ V  LOOP ____________$ I/ U9 A% D; y$ q! Y2 ]# T# Q' f
  CLD5 s- {# X2 V+ u+ [: l
  MOV BX,N-1
0 E. d& B3 Q  f" ~% p  MAL1: LEA SI,RESULT
+ S3 ^; K7 s3 B, `& N: V  MOV CX,_________
. u0 P# C, @1 B$ s, v  NEXT: LOD______
8 o4 g, K* [) ]8 T9 e7 u' K$ W  CMP [SI],AX
. j/ k7 P  ~3 |$ ^  JAE CONT
& Y+ \% _$ _8 t2 H1 h" B2 q  XCHG [SI],__________
. i8 I8 X% d5 ^9 q  MOV [SI-2],AX0 _" M) m! ?* ^# p( f6 R
  CONT: LOOP _______________  y; C8 @2 L4 _  G: C  x2 b9 g
  ________________________
+ R! v5 D7 Z8 o  ________ MAL14 s+ F8 q5 P* H1 K5 U3 F
  ;****END****
9 M# z0 J7 o5 `. X: `2 n  LEA DX,RESULT ;结果数据区首址
$ e  l5 Z6 z( Y# k8 ^' y  LEA SI,NAME1 ;结果文件名
% ~1 z* v0 m8 s1 j' h4 ]6 u  MOV CX,N*2 ;结果字节数
% H0 J' B9 r/ |3 A  CALL SAVE ;保存结果到文件/ r$ Z- v9 d2 ]  N1 u8 `+ n3 Q
  RET* A  m" O; z6 m
  START ENDP6 ~6 }; y7 ]0 R
  CODE ENDS% H. Q4 c+ m/ ]; w  l
  END START
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-6-16 05:13 , Processed in 0.732271 second(s), 21 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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