a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 50|回复: 0

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

[复制链接]
发表于 2012-7-31 20:55:16 | 显示全部楼层 |阅读模式
请编制程序,其功能是:内存中连续存放着5个用压缩型(组合型)BCD码表示的十进制数,请将它们分别转换成ASCII字符,高位的BCD码转换后放在较高的地址单元。  例如:
  R5 e9 Z# M3 X$ }  内存中有 21H,43H…(共十个字节)
9 l9 t3 W# {# w7 `  S/ J$ C  结果为 31H('1'),32H('2'),33H('3'),34('4')…(共20个字节)
0 V8 R; o' T! y% p, \7 g  部分程序已给出, 其中原始数据由过程LOAD从文件INPUT1.DAT中读入SOURCE开始的内存单元中。运算结果要求从RESULT开始存放,由过程SAVE保存到文件OUTPUT1.DAT中。
- {# t  k& _8 X$ k& H  填空BEGIN和END之间已给出的一段源程序使其完整(空白已用横线标出,每行空白一般只需一条指令, 但采用功能相当的多条指令亦可),或删除BEGIN和END之间原有的代码并自行编程来完成要求的功能。
$ R0 M4 I% q$ d/ I6 t: C  对程序必须进行汇编,并与IO.OBJ链接产生PROG1.EXE执行文件,最终运行程序产生结果(无结果或结果不正确者均不得分)。调试中若发现整个程序中存在错误之处, 请加以修改。* {- _$ O$ x4 p: G/ J
  试题程序:
0 v* A. E0 i6 @6 ~; I3 _  EXTRN LOAD:FAR,SAVE:FAR
, Y( Y8 w# R$ x+ M: a0 G. H  N EQU 5; D' S: G, E8 A6 S  s/ C
  STAC SEGMENT STACK7 U- l" z1 P2 c$ ]- P
  DB 128 DUP(?)
5 r5 w1 \% S) O  STAC ENDS
6 d* \1 i% {+ S; P; V) t5 R  DATA SEGMENT" |' [1 w7 f8 e- I- Q9 w$ g+ c
  SOURCE DB N DUP(?)' C3 L% o3 H2 j2 {
  RESULT DB N*2 DUP(0)1 ~7 K( l3 W+ Z9 ?* a
  NAME0 DB 'INPUT1.DAT',0
$ |9 _% s! N  V4 s( O/ Y  NAME1 DB 'OUTPUT1.DAT',0$ ?) b+ n( k$ u) f0 x
  DATA ENDS
! t& b6 f) y/ c3 B  CODE SEGMENT/ y, X9 Z( e5 q, Q$ k% k+ K
  ASSUME CS:CODE,DS:DATA,SS:STAC0 V0 s5 o: S, C2 J( @5 t* t
  START PROC FAR% f/ {' F) L" g# p3 y
  PUSH DS
- @7 }& U% w2 S, j  v: \( {  t4 |  XOR AX,AX( w1 [- i- E5 v3 f) @
  PUSH AX" m$ C/ |( G! @7 T
  MOV AX,DATA
% k4 ~0 `; _& o' u  MOV DS,AX8 u  ?" u3 Q1 [2 H- X
  LEA DX,SOURCE ;数据区起始地址
% ?6 Z- I5 W8 K% E  LEA SI,NAME0 ;原始数据文件名
* w2 R1 q" V: R" d7 F5 m7 x/ b  MOV CX,N ;字节数
: d' F8 b" X" k1 w. F) ]8 u  CALL LOAD ;从'INPUT1.DAT'中读取数据
; y: ]  R8 z7 R0 i+ n* h  ;****BEGIN****/ B1 Q0 n4 V, G/ J
  LEA SI,SOURCE
& y6 X0 j- w2 |- M  LEA DI,RESULT
3 Q0 r) h, u  L% ]  MOV CX,N
8 N* I* t4 B/ z) N  CLD
* V" }) `+ s& }9 D6 |& d/ b% o  NEXT: LODS_____4 d4 K. X! z. i* }$ S
  MOV BL,AL1 a. [, x7 c5 }  j
  AND AL,_______________2 c" K* E; h/ Z  i/ f6 N# B
  OR AL,30H
% `3 @  h3 M! w  J- h/ ~0 L  t# I  STOS_____2 M) U6 i, L$ x+ v1 W4 ?
  MOV AL,_______________* ~' E" Q  ]4 Q, C
  PUSH __________________
. k7 l4 n3 D6 ?+ W  MOV CL,_______________5 p0 a+ X1 b+ F1 }% e: N
  SAR AL,CL! X& s( T- J: W. _  F* q
  POP __________________
9 O( U% G4 J+ b4 p; V  OR AL,30H2 a$ y6 j- ?) |* X" g5 `
  STOS_____% S( {+ L( H( y  |. l
  LOOP NEXT/ [: J; X, d8 q2 ]. N
  ;****END****
3 `4 L9 u6 w# m3 A- k# W1 E  LEA DX,RESULT ;结果数据区首址* e3 M4 \% R0 v
  LEA SI,NAME1 ;结果文件名* y0 p& K6 R/ c5 A' a( [+ a
  MOV CX,N*2 ;字节数
$ W0 L' B( ]/ B6 B$ R  CALL SAVE ;保存结果到文件. R$ X9 M7 _/ Q& o: z/ m. |+ }
  RET' ~  L0 z1 S7 B6 X$ u
  START ENDP
. m" t: j+ W6 q$ a, @& r5 n0 \9 a' {  CODE ENDS7 @/ E3 t/ n+ L2 k) d
  END START
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-18 08:43 , Processed in 0.234413 second(s), 21 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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