a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 78|回复: 0

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

[复制链接]
发表于 2012-7-31 20:55:16 | 显示全部楼层 |阅读模式
  请编制程序,其功能是:一故障报警系统连续集20个字节数据存于SOURCE开始的内存区域,如果数据字节中有二进制位0(0代表有故障),则记录该数据字节中0的个数,并按数据字节在前,0的个数在后的顺序存放到RESULT开始的内存区域。
) l- ^$ G/ _1 |$ w% \% b( o  例如:
; }/ V# F+ B$ ^) b1 t  内存中有: FEH,90H,FFH,DDH…: h9 _+ N6 w" V; M
  结果为: FEH,01H,90H,06H,FFH,00H,DDH,02H…' b$ U5 J7 D  w; H
  部分程序已给出, 其中原始数据由过程LOAD从文件INPUT1.DAT中读入SOURCE开始的内存单元中。运算结果要求从RESULT开始存放,由过程SAVE保存到文件OUTPUT1.DAT中。
  Y7 o6 {+ s6 ^4 [/ Q6 ~( F; Q# y4 X  填空BEGIN和END之间已给出的一段源程序使其完整(空白已用横线标出,每行空白一般只需一条指令, 但采用功能相当的多条指令亦可),或删除BEGIN和END之间原有的代码并自行编程来完成要求的功能。
$ v. K! {6 Z7 z8 R9 V! F  对程序必须进行汇编,并与IO.OBJ链接产生PROG1.EXE执行文件,最终运行程序产生结果(无结果或结果不正确者均不得分)。调试中若发现整个程序中存在错误之处, 请加以修改。
3 c; ?) U9 o( Q3 p  z4 n, x  试题程序:/ @8 `: o5 Z( O( d1 O! ]0 ~
  EXTRN LOAD:FAR,SAVE:FAR
0 z# o) n0 Y1 [  N EQU 208 t5 `( }) d# x
  ESC_CODE EQU 27
5 ^( B& [, }. k( G8 B/ p  STAC SEGMENT STACK
6 A2 y, \6 S& Z' r/ h. t  DB 128 DUP(?)
! p, y5 r, d+ r7 x0 R# p  STAC ENDS
2 `7 \5 F+ N4 `% q' }+ I' s  DATA SEGMENT, e2 D3 l& l0 k2 a. ?+ \
  SOURCE DB N DUP(?)7 X+ J& M$ [9 H* g2 {
  RESULT DB N*2 DUP(0)
* h3 A5 s* j4 L  ?  NAME0 DB 'INPUT1.DAT',0
# Z5 b: u# H% T; \7 H, @  NAME1 DB 'OUTPUT1.DAT',0
9 R5 L( C( }& y/ j  DATA ENDS) d! a& p! l: @5 V9 u3 T
  CODE SEGMENT  Y6 M( c6 m0 c! ?" w4 o6 i
  ASSUME CS:CODE,DS:DATA,SS:STAC
$ X( V7 ]1 ]0 P6 N  START PROC FAR, g. K; E! e+ L4 A2 i$ E" c# u
  PUSH DS( T5 N! v' l' m1 q
  XOR AX,AX
. R! @5 Z/ X4 E6 s. x1 T  PUSH AX' Z; S- ^/ H2 D/ t
  MOV AX,DATA# o4 ]1 c9 f: C1 m- k- E% W" x
  MOV DS,AX
1 m, n! f5 t! N5 o9 {  MOV ES,AX ;置附加段寄存器3 D5 l5 Q8 j5 f9 Y4 [1 X, ~
  LEA DX,SOURCE ;数据区起始地址7 k/ v* F6 f3 b+ [6 N& a
  LEA SI,NAME0 ;原始数据文件名
6 t5 K  c# F+ A$ A9 I) [; I6 Y9 F  MOV CX,N ;字节数
$ X7 p3 ]8 f1 u# A; W' P+ Q  CALL LOAD ;从'INPUT1.DAT'中读取数据
; [: p' W4 C3 b* ]2 m/ j- r  ;****BEGIN****% i" ]9 v2 P& b3 W- {9 Q
  LEA SI,SOURCE
" L& q1 I8 a  x+ @7 r" d2 W  MOV DI,OFFSET RESULT6 \9 Y/ }( _( C( h" G
  CLD
2 _# q% e, z4 ?  MOV DL,N* P/ N9 g1 q  `, k, W$ f1 P
  LP1: ___________________________ ;字节数计数器DL
/ g# S- ]" ?5 m' m$ p9 [. N  MOV [DI],AL
6 c( w5 |3 g0 {  MOV CX,_______________; @$ P9 r5 c5 |2 F8 l, S
  MOV DH,0
6 G! ~0 Y! X- I: ~3 E( ?( E2 W  LP2: ________ AL,1  f' E7 b% W3 B; o2 m7 G% d4 M
  JC __________________2 N: u% o; Y, L
  INC DH
) _+ ?) \; ~# w# }( M3 L  LP3: ________ LP28 Z4 y9 z5 U0 g) @0 \! w8 j; K
  INC DI
$ T5 |: ~/ }: k& a2 m  MOV [DI],_____________# W/ s6 \0 L. d, h
  ___________________________
* u8 P" o) q2 R3 r, R6 ?7 B; D  ___________________________8 |0 Q! o- @' u  J& q
  JNZ __________________% l# d9 F6 {6 H2 P
  ;****END****  @% L- c* D. R6 L2 N; d: c
  LEA DX,RESULT ;结果数据区首址
9 ~" ?6 E" t  w( h, e9 d% M- ^* o  LEA SI,NAME1 ;结果文件名/ r1 i5 D1 R% E( ^- B7 O8 [
  MOV CX,N*2 ;字节数
/ @% ^! [0 U% ^1 g9 [* g! A2 y' j& N  CALL SAVE ;保存结果到文件8 F: W& ~6 M% M' l% W' ~' {
  RET* B, D" f$ F' n' n" I
  START ENDP5 p& D& W; {9 b- w  M
  CODE ENDS
4 r+ R: X  E3 W3 i, T( }( t/ d. b' @  END START
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-18 10:34 , Processed in 0.794013 second(s), 21 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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