a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 69|回复: 0

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

[复制链接]
发表于 2012-7-31 20:55:16 | 显示全部楼层 |阅读模式
  请编制程序,其功能是:内存中连续存放着10个用ASCII码表示的十进制个位数,将它们转换成相应的二进制字节数N0,N1,…,N9,然后按序将N0至N9存入内存中,最后存放它们的和n(n=N0+N1+…+N9)。N用压缩型(组合型)BCD码表示。* ], |/ x# Z2 G+ V
  例如:
# Z! X/ Z5 _! R  内存中有 30H('0'),39H('9'),31H('1')…; k% p2 F8 _8 r5 n' ?
  结果为 00H,09H,01H…(后跟n)
  ^6 r* K8 s. H9 }; Z  部分程序已给出, 其中原始数据由过程LOAD从文件INPUT1.DAT中读入SOURCE开始的内存单元中。运算结果要求从RESULT开始存放,由过程SAVE保存到文件OUTPUT1.DAT中。
# x9 F- c7 \  X" Z: o  填空BEGIN和END之间已给出的一段源程序使其完整(空白已用横线标出,每行空白一般只需一条指令, 但采用功能相当的多条指令亦可),或删除BEGIN和END之间原有的代码并自行编程来完成要求的功能。! A8 t% ~, m6 h. G7 l; f/ z& m
  对程序必须进行汇编,并与IO.OBJ链接产生PROG1.EXE执行文件,最终运行程序产生结果(无结果或结果不正确者均不得分)。调试中若发现整个程序中存在错误之处, 请加以修改。
+ v/ ?5 H+ ?$ h! _  试题程序:
5 f( {' P. M' V% K9 B( o; a3 t  EXTRN LOAD:FAR,SAVE:FAR9 [/ I# t2 K, t( ]( U% n
  N EQU 10# l9 Y7 z) I, r) m2 E6 R
  STAC SEGMENT STACK5 Q5 G! V8 V8 c- L: \: i! v
  DB 128 DUP(?)
5 L! V" g2 l$ i( m& }# D! \1 [4 i  STAC ENDS
) e4 f' N4 V1 z% l! ^/ J! b# X: B  }  DATA SEGMENT
% k9 j- s6 j" a2 S. }- \% m1 Z  SOURCE DB N DUP(?)
; C# p- W3 {1 p' g  RESULT DB N+1 DUP(0)1 O+ r. p  i( @6 a) S
  NAME0 DB 'INPUT1.DAT',04 N! \7 i' P# u1 s9 W+ j/ }
  NAME1 DB 'OUTPUT1.DAT',0. T0 {; z* n3 l
  DATA ENDS/ y% x* R) Y# o& S
  CODE SEGMENT2 v$ H# q% J/ u8 H/ ^
  ASSUME CS:CODE,DS:DATA,SS:STAC. D  j. }) O' B0 \
  START PROC FAR; j+ \4 c: S$ X& F: j7 O0 t
  PUSH DS) n% p; {" j  N
  XOR AX,AX0 F; q# a# Q/ ]9 E' A
  PUSH AX
/ Q' u. t1 F0 i) P  @  MOV AX,DATA2 o* g* [& ~2 O( h  s
  MOV DS,AX% q3 B9 a$ W. Y( [
  LEA DX,SOURCE ;数据区起始地址8 l) {( |. o  L/ p% j1 X
  LEA SI,NAME0 ;原始数据文件名9 @- o5 Y+ @4 L( {
  MOV CX,N ;字节数# J2 c5 U5 R' p6 i
  CALL LOAD ;从'INPUT1.DAT'中读取数据$ u7 R% p5 l! X
  ;****BEGIN****
4 x7 `5 m. U; Y, x+ K8 W  MOV DI,OFFSET RESULT9 T: Q3 b5 c9 [+ f6 {
  MOV BX,0
+ `- ^8 V5 n  _  MOV CX,N
5 R; y8 w% C* U. B" A  MOV DL,_______________
* Z$ S7 m3 u4 ]$ z8 u% m  PRO: MOV AL,SOURCE[BX]
- w1 J2 i% F, |* W8 V0 S$ c* p  ________ AL,30H
; R  s( }) W9 ?  l. [4 r- H. ]  MOV [DI],AL
2 |" K$ w! ?% H% _5 D$ A  ___________________________
! {- T7 n' L9 C  ADD AL,DL& V5 ?: U6 t' T" \5 w
  ___________________________9 O+ i4 g7 j, H, c- U
  MOV DL.AL
' l7 N: S& y8 i  INC BX
* K- j2 z% R! G1 d/ m( `% R) ?' f3 T  ___________________________
% [, v4 y0 I) J. X3 l  JNZ PRO0 }9 A- W7 ]4 j  L1 M/ j$ R
  ___________________________
. b0 i8 L6 c3 |( k$ p) C3 U! E( Z6 {  ;****END****9 j6 l( ^8 F6 Y0 K5 ~; y7 `
  LEA DX,RESULT ;结果数据区首址7 M4 |) @2 w% L0 L3 m
  LEA SI,NAME1 ;结果文件名
5 B1 B4 P) x1 H1 d% i0 b& V  MOV CX,N+1 ;字节数
  A8 A3 V0 W; E! S% b' {+ p  CALL SAVE ;保存结果到文件0 m; ^, ^" v- Y& P- {5 r
  RET7 [: g! q/ M, V8 a" d; m- L7 Y7 @5 L: p
  START ENDP$ P3 P& H! `7 l9 N$ n: n' E2 _
  CODE ENDS
, D, ]5 X  i0 b* ?3 u4 y  END START
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-18 11:03 , Processed in 0.186247 second(s), 21 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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