a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 43|回复: 0

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

[复制链接]
发表于 2012-7-31 20:55:16 | 显示全部楼层 |阅读模式
  请编制程序,其功能是:内存中连续存放着10个无符号8位二进制数,现将此十个数转换成10个8位格雷码表示的数,结果存入内存。其转换方法为格雷码的最高位g7与二进制数的最高位d7相同,格雷码的其余七位gk(k=6,…0)分别为二进制数的位dk+1(k=6,…,0)与位dk(k=6,…,0)异或的结果。* \# O4 _- t* L$ i9 K
  例如:
3 {6 M8 t, h" z* Z/ i- p& Y: e  内存中有 00H,02H,32H,45H,08H,19H,67H,03H,90H,85H* F  C0 S5 X. u2 \/ d
  结果为 00H,03H,2BH,67H,0CH,15H,54H,02H,D8H,C7H4 d9 O0 Y! M/ h5 k+ r
  部分程序已给出, 其中原始数据由过程LOAD从文件INPUT1.DAT中读入SOURCE开始的内存单元中。运算结果要求从RESULT开始存放,由过程SAVE保存到文件OUTPUT1.DAT中。# }- u' x: \" U. M: P% ~$ C
  填空BEGIN和END之间已给出的源程序使其完整(空白已用横线标出,每行空白一般只需一条指令, 但采用功能相当的多条指令亦可),或删除BEGIN和END之间原有的代码并自行编程来完成要求的功能。2 Y3 A- e' j- x7 t8 {+ u
  对程序必须进行汇编,并与IO.OBJ链接产生PROG1.EXE执行文件,最终运行程序产生结果(无结果或结果不正确者均不得分)。调试中若发现整个程序中存在错误之处, 请加以修改。
: {( \( R/ H) l5 f; o8 V# u  试题程序:0 {. }. D) m5 J) O. q
  EXTRN LOAD:FAR,SAVE:FAR; O, b! K3 p: }, o% [' x& I
  N EQU 10
- Q, p8 b* d1 [' N1 Y* M  STAC SEGMENT STACK; `; B; S2 G3 k7 \& y) c" s
  DB 128 DUP(?)
1 Z) s8 p: \; ?& |, s/ x+ M  STAC ENDS" ^! K$ P0 Y) m' F/ l3 R
  DATA SEGMENT
, L6 K5 Q# `# y  SOURCE DB N DUP(?) ;顺序存放10个字节数
9 u! l+ ]$ Q# f! Y5 X/ }  RESULT DB N+1 DUP(0) ;存放结果
; @1 p2 w5 H/ h' v6 u' Q+ I' X9 k7 o4 X  NAME0 DB 'INPUT1.DAT',00 a" x$ E4 @1 l' I+ ^. @+ u$ l8 ?
  NAME1 DB 'OUTPUT1.DAT',0; z8 E$ @" c3 l3 \) E+ H
  DATA ENDS
% p# C; f- _6 Y8 \6 c. {  CODE SEGMENT
* r( R. t' v! N* r& e  ASSUME CS:CODE,DS:DATA,SS:STAC
0 k8 q" {- r1 u- f  START PROC FAR( F, t. e  I. X! Z  o
  PUSH DS
6 L4 @& ~  `/ C4 S* s  XOR AX,AX
$ v% ^; F7 ^5 G  PUSH AX
5 W' M/ q# p, w  MOV AX,DATA
& J1 R) o4 ~4 |# f: P6 l  MOV DS,AX
( E+ M9 K" o0 ^) z/ v  LEA DX,SOURCE ;数据区起始地址
0 l! C  n: O2 W' x$ Q  LEA SI,NAME0 ;原始数据文件名
9 _7 [5 @( b- W  MOV CX,N*2 ;字节数' u/ B# N( y. W! c
  CALL LOAD ;从'INPUT1.DAT'中读取数据2 g. U" F* X- Y7 b% {$ j: h
  ;****BEGIN***** w  E+ L1 u* c* u- l" d/ A2 J
  LEA SI,SOURCE
2 n0 ^7 B' u0 Q) P  LEA DI,RESULT
" r* _: W  m/ P# Q! f6 q! Z  E  MOV CX,10
$ a* ~0 v4 y( W8 {  AGN0: MOV AL,[SI]
3 k) l4 t: ?7 ^2 w6 s  ______________________
" n6 ~5 u2 d& n+ K. B  MOV CX,8: J* E$ w6 M6 ]# e! h
  MOV BX,0
1 N5 b- q0 Z5 r$ }  AGN1: MOV AH,04 K. @2 e" I  {! V$ P
  ________ BL,1
- ^( p6 ^" d2 b; U/ v1 a  ROL AL,1
1 \6 ~; ^- U6 `  _________________________: j- y: C; C; K0 o4 A% B3 h2 d8 z
  CMP AH,BH6 L4 D- P6 D: e3 `1 t7 ^6 `/ h
  ________ SET_ONE
& X: \- Q  D1 D8 ~  JMP NEXT
5 f6 n4 p* N0 _) L  z- ~3 @% o# C" u  SET_ONE:OR BL,01H& {( u( g3 ^& G) n' O& Y' V7 b0 [
  NEXT: MOV _________,AH( O5 n8 M' g- e! w* r
  LOOP AGN13 b+ Q" C, T9 o  b$ T( p
  _________________________
4 y4 n0 v! c# u+ z# O3 s  MOV [DI],BL
5 ]8 J: c" u) T4 D. Y0 K1 D  INC SI* t* u# \5 M! T+ X8 |- @
  INC DI! \" l* R( \9 [1 W, e
  LOOP AGN0
6 C/ K! ~; ?/ V- n% U* k2 H- {  \  ;****END****
% F2 G# X% h) X0 n" C  LEA DX,RESULT ;结果数据区首址
4 g7 [( C: h/ K( t  LEA SI,NAME1 ;结果文件名# C' d. Q8 k/ A7 ]) Z0 T
  MOV CX,N ;结果字节数) e3 T& G! \/ j" I
  CALL SAVE ;保存结果到文件- [4 C: _/ C" ]1 g% ^; F- z- C% H+ K  s0 _
  RET  U/ a7 W7 b6 y
  START ENDP
2 n# w( E  H( j: w" {7 {: h# U  CODE ENDS8 i  }0 q! s" ?+ C' T; p/ J
  END START
回复

使用道具 举报

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

本版积分规则

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

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

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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