a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 42|回复: 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)异或的结果。& S$ z, X; I  P
  例如:5 v! n4 c8 a. Z  X' P
  内存中有 00H,02H,32H,45H,08H,19H,67H,03H,90H,85H3 {# |0 V& L5 ^; F1 j' q) _
  结果为 00H,03H,2BH,67H,0CH,15H,54H,02H,D8H,C7H
# T0 {* W/ f2 M$ Z, }  部分程序已给出, 其中原始数据由过程LOAD从文件INPUT1.DAT中读入SOURCE开始的内存单元中。运算结果要求从RESULT开始存放,由过程SAVE保存到文件OUTPUT1.DAT中。
$ W* }$ ]+ A8 T( G  填空BEGIN和END之间已给出的源程序使其完整(空白已用横线标出,每行空白一般只需一条指令, 但采用功能相当的多条指令亦可),或删除BEGIN和END之间原有的代码并自行编程来完成要求的功能。
) V$ |/ W# w1 E' ?  对程序必须进行汇编,并与IO.OBJ链接产生PROG1.EXE执行文件,最终运行程序产生结果(无结果或结果不正确者均不得分)。调试中若发现整个程序中存在错误之处, 请加以修改。
0 z* Q& L# _/ g  试题程序:
8 f6 J) [( Q1 `3 d  EXTRN LOAD:FAR,SAVE:FAR
* I) W* Z! ?! |5 u8 O( i' o: n  N EQU 10
2 k: y: J0 d$ H8 h+ d2 X+ C  STAC SEGMENT STACK
6 k0 z9 S. h, m( t+ }& {! Z  DB 128 DUP(?)
4 Z* K- L7 Q* ?- h  STAC ENDS$ M, l+ b/ \! n9 B7 p
  DATA SEGMENT
4 ~' f' ]- `' U) ]! B: R0 V0 Y( F  SOURCE DB N DUP(?) ;顺序存放10个字节数
* B" I4 _7 @$ j  RESULT DB N+1 DUP(0) ;存放结果: g; z) J! M) c! q3 t. U4 E# Y! O% J
  NAME0 DB 'INPUT1.DAT',0  r8 ]& J  s  l4 ?! E$ b
  NAME1 DB 'OUTPUT1.DAT',0" S; }# T' Q/ I
  DATA ENDS* f' c  W# t/ ]+ ~& R( E( H
  CODE SEGMENT
# X& X! K7 h, u# l# \  ASSUME CS:CODE,DS:DATA,SS:STAC3 H5 D4 O. _) Y) j* }7 x
  START PROC FAR; x0 j2 W1 ]2 Y% h' h, `
  PUSH DS
5 G3 @) f% p2 K  XOR AX,AX
/ F2 X8 o" z2 `, A- h: z! b  PUSH AX
+ ~0 J/ p8 z- G8 V  MOV AX,DATA
; Y/ ?* Z4 X+ n# s% A% w6 o# C  MOV DS,AX
5 W/ ~0 d! l+ j6 {. B" D! u  LEA DX,SOURCE ;数据区起始地址' D9 ]% m) O2 q0 r% [6 b
  LEA SI,NAME0 ;原始数据文件名
% A6 J7 z( H4 I  r4 s  MOV CX,N*2 ;字节数
* D1 `9 H* f! l% x9 }9 v  CALL LOAD ;从'INPUT1.DAT'中读取数据
! j' a/ h7 C. ^5 p& ?& S' W) c  ;****BEGIN****4 U. j& d3 f- c+ L9 T
  LEA SI,SOURCE
; h# O& r% \8 s2 k# G$ s  LEA DI,RESULT
1 m% C' Z) K) n9 m& V$ q0 ~0 F$ @$ c  MOV CX,10: }; N0 K0 [! W/ a
  AGN0: MOV AL,[SI]# t) \9 `7 f" ~+ e
  ______________________  f. w* q! g" z; N9 D
  MOV CX,8
2 W, c9 P' O( d  MOV BX,08 d  Z+ H9 j4 r7 p  Z  o" ^0 k
  AGN1: MOV AH,0
* o; j4 G! ?5 e" |  ________ BL,1* y7 `/ Y- e% w- @- @
  ROL AL,1! k" |7 w/ @& ?$ y' `
  _________________________9 v% U( F& D' Y1 `# O! O- J: v
  CMP AH,BH
5 N" r7 c, w: i1 W% J$ }8 C& A  ________ SET_ONE
: }! i9 }& s4 l& R* \1 s  JMP NEXT/ s9 L) }( {+ _+ Y# a! d
  SET_ONE:OR BL,01H+ a4 \) ?8 e9 ~
  NEXT: MOV _________,AH! X7 a9 h+ \  B, f8 l
  LOOP AGN1
1 z: ^5 S  ~! W+ z  _________________________
8 j* l: S4 x  T* z  MOV [DI],BL6 P: f/ |- u2 ~- G( u
  INC SI: n( p9 I6 M0 I! F% G+ v9 b+ z
  INC DI
/ L/ X* f9 h& w  LOOP AGN0
$ U9 Y8 q/ ]+ k& s# A% F+ s/ N! D  ;****END****
& X3 X$ G+ o3 u; e' ?# G1 E. S3 ]3 v7 D  LEA DX,RESULT ;结果数据区首址% i; L8 p8 [, R0 I1 \
  LEA SI,NAME1 ;结果文件名
8 o1 r/ g+ f0 d0 k  MOV CX,N ;结果字节数, s) u" ]" |- Q' l/ F- g8 P
  CALL SAVE ;保存结果到文件
$ N9 }* \% |6 U. P/ V6 ~  RET1 {! }$ R1 G) N5 y
  START ENDP
! }0 \9 V/ J: \6 O: F  CODE ENDS
, i3 C! V7 H% ]0 O  END START
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-18 14:57 , Processed in 0.290748 second(s), 21 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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