a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 77|回复: 0

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

[复制链接]
发表于 2012-7-31 20:55:16 | 显示全部楼层 |阅读模式
 请编制程序,其功能是:对内存中存放的六组带符号16位二进制数(每组由三个数组成,均不为零)进行处理。处理方法为:当每组中负数多于正数时,将组内负数变成正数(但绝对值不变,下同),组内正数不变。反之,将组内正数变成负数,组内负数不变。变换好的数按原序存放在内存中。  例如:* X3 R, z; ^( J  v4 b1 H/ Y
  内存中有 0003H,0001H,0002H,0003H,0004H,FFFFH,FFFEH,FFFDH,0001H,FFFEH,FFFDH,FFFFH…(共六组18个数)& y' s9 i/ g! e7 E- G& x
  结果为 FFFDH,FFFFH,FFEH,FFFDH,FFFCH,FFFFH,0002H,0003H,0001H,0002H,0003,0001H…(共18个数)
4 Q- H6 ?. Z( n4 a# ?' C  P  部分程序已给出, 其中原始数据由过程LOAD从文件INPUT1.DAT中读入SOURCE开始的内存单元中。运算结果要求从RESULT开始存放,由过程SAVE保存到文件OUTPUT1.DAT中。0 x  Q2 |& A. m% e6 Y  {+ C. P% ~; J
  填空BEGIN和END之间已给出的一段源程序使其完整(空白已用横线标出,每行空白一般只需一条指令, 但采用功能相当的多条指令亦可),或删除BEGIN和END之间原有的代码并自行编程来完成要求的功能。
4 {( A. d1 o2 R$ }+ i5 ^( \  对程序必须进行汇编,并与IO.OBJ链接产生PROG1.EXE执行文件,最终运行程序产生结果(无结果或结果不正确者均不得分)。调试中若发现整个程序中存在错误之处, 请加以修改。
7 |. Z- q4 i4 H2 z# m& G  b  试题程序:0 U7 h1 x; W3 X/ M
  EXTRN LOAD:FAR,SAVE:FAR
) @6 ]. M4 z) o: F  T: m) ?; W  N EQU 187 {* P! ?3 c/ M1 a2 A* O) y
  STAC SEGMENT STACK3 t) W& ?5 O: D7 U. S9 ^9 e
  DB 128 DUP(?)
1 m( }# @6 F9 U! p' ?  STAC ENDS
" f5 G8 L0 B$ z: [( F8 G( W  DATA SEGMENT2 j% J' |' W2 ?' m& g# p
  SOURCE DW N DUP(?)
  H) I/ L: R3 \& k, m6 s  b' K  RESULT DW N DUP(0)+ K) D6 D2 G: f- X
  NAME0 DB 'INPUT1.DAT',01 y5 I6 F% e5 D
  NAME1 DB 'OUTPUT1.DAT',0
  ?$ Q  K4 e/ ~2 a+ Y- ^7 Z  DATA ENDS( B1 t) k! z7 ]3 ^* [9 ?* @; R; t1 w
  CODE SEGMENT
: K6 {  O) ~2 j& ~3 o) c  ASSUME CS:CODE,DS:DATA,SS:STAC* g2 F  t9 ^: z" h/ Y& O2 z
  START PROC FAR
* V  S- Q4 Z& g. q, M% O! a" X/ [  PUSH DS
5 _0 m1 P6 N& Q7 ~3 ?4 \  XOR AX,AX
$ w& \* q  ?) E& q  PUSH AX
6 C* a7 \: [+ E+ c* g  MOV AX,DATA$ {! ~0 q. B' o. U( a' W$ I) E
  MOV DS,AX1 l% s' z8 z, t1 J! V
  LEA DX,SOURCE ;数据区起始地址
# r7 ~9 u4 `) U1 I* c/ K  LEA SI,NAME0 ;原始数据文件名% v6 [* i1 K3 @) W8 @. C
  MOV CX,N*2 ;字节数+ j, {1 l* @' w1 i
  CALL LOAD ;从'INPUT1.DAT'中读取数据
, w2 w- X7 S/ W! |0 [0 m+ O6 s" e  ;****BEGIN****. K, A" c6 Y4 m7 D5 q
  MOV SI,0) k% E( ]/ V: t! H) S2 k
  MOV DI,0; u0 |  x$ ]& z2 y3 H
  MOV BX,6# k' D( P& ?7 U
  REPT1: MOV DX,0% B# i5 i3 u' T3 w
  ____________________________' |6 c5 ^9 f' K& D
  CAMP: MOV AX,SOURCE[SI]* t8 O( @3 T1 a% z: I: e7 l0 G8 Z
  ____________________________! `, T: Y% H7 ^+ [5 p! d
  CMP AX,03 s* ]9 m+ A7 c% c+ Y( S1 Q
  JL CONT
/ X8 O- g5 v* t; m6 b  JMP NEXT
7 K! b/ Z6 q, f: R; f  Y( ?  CONT: INC DX
& W- B* [4 @5 c$ F  NEXT: LOOP CAMP$ M8 ~: c$ {/ I6 V0 Q  c# |
  SUB SI,6
+ i0 t' B9 Z; G1 j" y5 w, V( W8 P2 z  MOV CX,35 [6 B2 O; k/ a1 g! p  S1 a
  CMP DX,2
% X6 p0 r6 Y) K. m0 p# p  JAE NEG1( J& h' I- j+ b- K5 @: @9 J
  ________ NEXT1
, w) u* q7 m3 H' B7 h  o4 `4 b; C  NEG1: MOV AX,SOURCE[SI]
9 b3 V) ^# K) e' o; l  ______________________9 T  ^9 ~. c  \0 C
  CMP AX,0
4 Y! y, B* A+ X3 }! m1 g* X- c  JL NEG2
. A( W4 |/ c: g% n. W$ ~  JMP NOTNEG
: E6 t0 V$ `& @! B' U3 Y) w  NEG2: ______________________
2 ?; r2 t; z9 x* ]+ U- r  NOTNEG: MOV RESULT[DI],AX) x2 ?/ z0 r1 y4 p+ k
  ______________________5 S; j( C. p- V4 j9 o4 T
  LOOP NEG1* Z7 w$ t5 t1 a! P5 C
  JMP NEXT21 x2 ]! `; n6 ]5 r- L. o
  NEXT1: MOV AX,SOURCE[SI]/ h0 |- L& o/ b( d1 {; u
  ______________________  o9 P, j% V  A
  CMP AX,0' S6 q$ |2 w9 C: M: k$ V0 a
  JG NEG33 x% m: h+ ]' e" n, q
  JMP NOTNEG1% H3 R' z1 F6 |
  NEG3: NEG AX
, g- F9 d1 Y3 F! i% p  NOTNEG1:MOV RESULT[DI],AX; j6 o) O2 m2 o
  _______________________6 q( O) C: i) v8 D; n3 Z
  LOOP NEXT1
, B2 j, @/ r8 m  j; _$ r! \  NEXT2: DEC BX
5 m$ b( M8 N$ v1 E/ r) T+ q0 e  JZ EXIT3 f" Z4 u' R! S4 I$ S7 @
  _______________________$ v) q% Y1 h0 J$ y# X1 w8 `4 |  b) d
  EXIT: NOP
! u3 ~3 T8 G5 \) B! i& I: |- r  ;****END****- n3 P" t4 }, E6 `* M: V8 [+ A
  LEA DX,RESULT ;结果数据区首址3 g  n6 B3 F: D$ V5 |: [& E
  LEA SI,NAME1 ;结果文件名
/ k% Z6 E/ V/ I$ t% b4 h' {2 x9 o  MOV CX,N*2 ;字节数+ h" Z- Q/ z( m0 Z7 G9 |9 a
  CALL SAVE ;保存结果到文件
8 v% _1 M! ]" E) a! T+ E5 C# R  RET
) E# r: K$ m6 n( ^3 w, V  START ENDP
6 W) K) X3 b+ U/ V7 @. t  CODE ENDS2 s9 t: s2 n6 ^( ?9 K; Y
  END START
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-6-3 00:51 , Processed in 0.182117 second(s), 22 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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