a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 90|回复: 0

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

[复制链接]
发表于 2012-7-31 20:55:16 | 显示全部楼层 |阅读模式
 请编制程序,其功能是:将10个无符号字节数据中高4位和低4位所表示的十六进制数分别转换为ASCII码,并按照先低后高位的顺序存放在指定的内存区中。  例如:5 b- n' g9 E- a7 ~5 N! [
  内存中有 61H,4AH,5BH…
) \2 s6 h' X# T5 E5 R! Y8 D0 G  结果为 31H,36H,41H,34H,42H,35H…9 `; X: T' o% M# Q* V2 j/ N
  部分程序已给出, 其中原始数据由过程LOAD从文件INPUT1.DAT中读入SOURCE开始的内存单元中。运算结果要求从RESULT开始存放,由过程SAVE保存到文件OUTPUT1.DAT中。; U2 f: C' U9 m2 A0 z7 n0 |7 }+ y
  填空BEGIN和END之间已给出的一段源程序使其完整(空白已用横线标出,每行空白一般只需一条指令, 但采用功能相当的多条指令亦可),或删除BEGIN和END之间原有的代码并自行编程来完成要求的功能。
/ s  W6 w1 y1 ?0 C4 a/ d6 W3 F* m+ t  对程序必须进行汇编,并与IO.OBJ链接产生PROG1.EXE执行文件,最终运行程序产生结果(无结果或结果不正确者均不得分)。调试中若发现整个程序中存在错误之处, 请加以修改。
( c+ h$ S3 y' o- U" i8 r  试题程序:; f7 O4 k9 r) F1 H
  EXTRN LOAD:FAR,SAVE:FAR
5 B1 a9 Z: ^4 H# ?" }, W/ k* A  N EQU 10
% ~! T6 Q/ G' C" a  DSEG SEGMENT
+ C: W0 @% Q- p. E- \1 @9 d  SOURCE DB N DUP(?)& N* C2 o. c4 P3 L2 ]& l1 V
  RESULT DW 2*N DUP(0)
0 x$ v. T( s" j, D2 x) l3 e  NAME0 DB 'INPUT1.DAT',0
% x4 }0 c" X3 @% K9 f+ C  NAME1 DB 'OUTPUT1.DAT',01 m" t  g  v1 q9 m7 g; e1 E' r
  DSEG ENDS
. X% B. S: l- ]' x& z" e1 S4 h: U3 k2 E0 C  SSEG SEGMENT STACK
" V% U" J5 J; h3 [, M6 ]( k# b  DB 256 DUP(?). F5 o' v7 t. x
  SSEG ENDS. a5 G7 c$ z- H* G7 U' q1 c
  CSEG SEGMENT- y$ k& F6 E" t, G) N
  ASSUME CS:CSEG,SS:SSEG,DS:DSEG/ h7 N# S# @' M
  START PROC FAR
& y8 b2 B$ Y+ G" i  PUSH DS  T4 A0 A  G; i$ c7 b
  XOR AX,AX6 x) H) `/ X" I2 l* {# E4 `% D8 ]1 ^5 b
  PUSH AX
( x0 I4 }* ?; m1 k6 L( l  MOV AX,DSEG; i) P" P6 z" V4 p  P# t1 i5 U
  MOV DS,AX' |6 v# n$ q# z6 r5 z
  MOV ES,AX
% Z( _& g4 @- Z0 N! y& x. L  LEA DX,SOURCE ;数据区起始地址
: h* }7 b( W( {. `6 r$ h  LEA SI,NAME0 ;原始数据文件名
4 A; [' K$ w5 F% e) M  g% Y, O# @  MOV CX,N ;字节数
5 t5 g) p7 E  y& `) [( w5 K  CALL LOAD ;从'INPUT1.DAT'中读取数据
/ Q, j, c3 \( v  ;****BEGIN****
9 v$ }! g" y7 I  t  LEA SI,SOURCE% P3 E( Z4 s4 L1 M
  LEA DI,RESULT: p) C% h. k! ?
  MOV CX,N+ z5 W, c) b/ B2 Z9 A
  CLD
' z, }" Q* R0 {, A4 ]  NEXT: LODSB% E1 E* e+ G# g4 s6 {9 ]
  MOV BL,AL
+ M# L+ e5 \3 F0 _4 P  AND AL,_______________" n- e$ b& m# {2 p4 O3 F
  CALL SR( J5 z8 v" F* Q  j) _2 U4 c5 n
  MOV AL,BL
  p8 |0 i0 p4 W. W5 V: E- S  PUSH CX
% i9 `# k) f4 g3 |2 Y: x7 C  MOV CL,47 p* `6 {* w+ z& C) Q6 w
  SHR AL,_______________
; n9 N4 D- Y+ c/ k7 f+ T  ___________________________
8 E/ t. U8 g5 F  CALL SR
/ x5 d, K/ p# J7 }5 z  LOOP NEXT
' s1 k, b- m6 G' Z& k8 q6 [  JMP EXIT$ U$ ^7 Z2 v% C9 x; Y5 Q0 m# m" s7 @
  SR PROC# R$ L: i( T0 W% Y- E; i2 K( \
  CMP AL,0AH
! ^. F4 v" i+ i, n0 f  JB NUM4 [) K* A6 y7 O
  ADD AL,07H3 O  n5 G. Z, K( Z# m* a( z" L5 ]+ z
  NUM: ADD AL,_______________5 J- z5 a8 J, H, Z7 [: k' o" O
  STOSB
3 q. l( |7 C  ?0 k! X9 m  RET
1 F5 m. M9 o1 p+ d; ~4 n  SR ___________________________. d, W6 L* x8 `/ t% G  W
  ;****END****
" G! F4 y/ u  l  LEA DX,RESULT ;结果数据区首址  L$ f8 _- b  d" K: o2 v0 F
  LEA SI,NAME1 ;结果文件名
$ i* u! O6 p& _4 e  }6 e1 S  MOV CX,2*N ;字节数1 X: h2 x/ |' s; Q/ a# B
  CALL SAVE ;保存结果到文件
% ]  D( `2 A0 s- R+ F6 D6 G  RET
6 k$ L+ M  w% ?. C9 x  START ENDP
  Q2 P2 I4 D) X7 W! y  CSEG ENDS
: i& I  o, W, q2 W5 f. ^: n0 S  END START
回复

使用道具 举报

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

本版积分规则

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

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

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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