a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 77|回复: 0

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

[复制链接]
发表于 2012-7-31 20:55:16 | 显示全部楼层 |阅读模式
  请编制程序,其功能是:将连续20个字节的十六进制数顺序转换成40个ASCII字符(字母用大写)。转换的顺序是先高四位,后低四位。. N" i6 p9 N4 K( {! N$ C9 Q, ^* P' a
  例如: 原始数据是 AFH,14H…$ i3 ]; w; M! i5 }% z* m& b
  转换后应是 41H,46H,31H,34H…
# d1 }4 ~, m0 u, L* D* `  部分程序已给出, 其中原始数据由过程LOAD从文件INPUT1.DAT中读入SOURCE开始的内存单元中。运算结果要求从RESULT开始存放,由过程SAVE保存到文件OUTPUT1.DAT中。
" R% t: E3 f( l; _: y8 w  请在BEGIN和END之间补充一段源程序,完成要求的功能。
7 K; f+ ^0 f+ N. O/ n8 @  对程序必须进行汇编,并与IO.OBJ链接产生PROG1.EXE执行文件,最终运行程序产生结果(无结果或结果不正确者均不得分)。调试中若发现整个程序中存在错误之处, 请加以修改。: A  v" d# Y& x* O, v& F
  试题程序:$ @, i8 e+ v7 `; C5 U
  EXTRN LOAD:FAR,SAVE:FAR, i- g5 Z& E0 G, u0 F. g
  N EQU 20- |- ^( _; f  g7 H
  DSEG SEGMENT
9 v2 k) @/ k* \. N: ~  SOURCE DB N DUP(?)
- ?9 A: x: ^( H, [  RESULT DB 2*N DUP(0)
! B! z8 N' A1 _2 A, o$ b0 q  NAME0 DB 'INPUT1.DAT',0- L) ~/ E- t; S9 g9 R
  NAME1 DB 'OUTPUT1.DAT',0
& @+ d1 X1 a# j0 Q2 j0 ~# F( z9 D  DSEG ENDS
1 i4 q" q3 J: P: d  b5 r  SSEG SEGMENT STACK
  Y& S) i4 K% L+ G8 O5 Z  DB 256 DUP(?)/ g: x0 A/ O/ ^! w7 X7 X* |7 t
  SSEG ENDS
+ n0 U: E5 Z! x* v  CSEG SEGMENT
. c) D/ }5 i! B  ASSUME CS:CSEG,DS:DSEG,SS:SSEG
3 u4 U8 n8 u3 T- y3 {  START PROC FAR
! U3 R* z% Q+ x/ e& b1 Q, i  PUSH DS
) P9 B" l& l4 s7 ~5 S) h  G; M  XOR AX,AX
1 O, _( B# ^/ [& _2 N' R  PUSH AX
) _$ h! y3 ^3 j! b% W- k( P  MOV AX,DSEG
) N* ~$ X# b3 }7 m8 C: Y  MOV DS,AX) M! `4 H$ z, q8 e3 C2 k
  LEA DX,SOURCE ;数据区起始地址
% O+ ]+ {( O6 \% H" P  LEA SI,NAME0 ;原始数据文件名/ D  e' `* q$ }4 y4 F
  MOV CX,N ;字节数
+ n2 x, }! q2 N$ _- P3 g% ^  CALL LOAD ;从'INPUT1.DAT'中读取数据
6 T0 j7 ~) [3 |! s  J  ;****BEGIN****3 q$ f# q' H: k: T. N1 |
  LEA SI,SOURCE& X6 k* {0 n+ e5 [  z3 Z1 p
  LEA DI,RESULT3 O- p' t  F  K1 v5 S3 c
  MOV CX,N
  D6 I7 a' K4 Y; u% X/ \+ c$ |4 {  LOOP2: MOV BL,2
. U- M. @+ e5 }6 C; y  MOV AL,[SI]8 p& X$ @( C1 h$ U9 J+ _- T$ D- n
  MOV AH,AL
6 t+ p5 u7 l2 L4 C6 O" z  PUSH CX
. R) O( D9 f/ _- s; c  K6 W  MOV CL,42 R, u# Q0 S. M1 u9 J
  SHR AL,CL( }- n1 H) Z/ @: f8 }+ N
  POP CX
. w$ |8 P' h) g; p' \4 h8 ~  EXCH: CMP AL,9, _1 ]; s$ V: ?
  JNA CHAR1 P% _0 ^: M4 F& w, P1 V
  ADD AL,07H
5 H4 N" c: W( I  F# H# Q  x9 ~4 Y  CHAR: ADD AL,30H5 P- `& C: C: \7 J
  MOV [DI],AL* \7 S6 ~4 K/ `- |; Y
  INC DI, l7 a8 o# ]. v3 B
  DEC BL* Y6 {$ k2 y. |' [7 D
  JZ LOOP1
$ K6 H2 I' C. v* a. }8 l1 w  AND AH,0FH
/ G/ t1 q# H( [  T  MOV AL,AH+ `5 D1 ^+ h# G4 `; n
  JMP EXCH1 v, E/ q/ ]2 y& K, m4 g' K8 B) }+ O
  LOOP1: INC SI
2 @( M* q- c5 X# q. V  LOOP LOOP2) ^; P  o8 x# [+ Y7 E
  ;****END****
+ \4 v0 Y0 a/ O, p' `( }  LEA DX,RESULT ;结果数据区首址
$ j0 I/ W9 T8 z6 S* m( I8 r  LEA SI,NAME1 ;结果文件名4 m* x( a! B% A( O0 B
  MOV CX,N*2 ;字节数( Q4 S* I8 C+ ^( z
  CALL SAVE ;保存结果到文件
8 J+ M% u& Y, [  RET
/ [: w: E! R& d# i, ^: r  START ENDP
) y2 K4 R3 P. L8 Q3 x  Y; _# Q* X  CSEG ENDS
5 B; h  o. {9 w; G( z$ c  END START
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-18 11:27 , Processed in 0.429034 second(s), 22 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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