2012年计算机三级PC技术第五十套上机试题及答案.docVIP

2012年计算机三级PC技术第五十套上机试题及答案.doc

  1. 1、本文档共3页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2012年计算机三级PC技术第五十套上机试题及答案

2012年计算机三级PC技术第五十套上机试题及答案 来源:转载 更新:2012-10-16 编辑:evans   请编制程序,其功能是:内存中连续存放着两个有符号字节数序列AK和BK(k=0,…,9),求序列CK,CK=AK+BK(CK以有符号字的形式按C0,…,C9的顺序连续存放)。   例如:   序列AK为 80H(-128D),31H(+49D),61H(+97D),7FH(+127D)…   序列BK为 80H(-128D),01H(+1D),F1H(-15D),7FH(+127D)…   则结果CK为 FF00H(-256D),0032H(+50D),0052H(+82D),00FEH(+254D)…   部分程序已给出, 其中原始数据由过程LOAD从文件INPUT1.DAT中读入SOURCE开始的内存单元中。运算结果要求从RESULT开始存放,由过程SAVE保存到文件OUTPUT1.DAT中。   填空BEGIN和END之间已给出的一段源程序使其完整(空白已用横线标出,每行空白一般只需一条指令, 但采用功能相当的多条指令亦可),或删除BEGIN和END之间原有的代码并自行编程来完成要求的功能。   对程序必须进行汇编,并与IO.OBJ链接产生PROG1.EXE执行文件,最终运行程序产生结果(无结果或结果不正确者均不得分)。调试中若发现整个程序中存在错误之处, 请加以修改。   试题程序:   EXTRN LOAD:FAR,SAVE:FAR   N EQU 10 ;每个序列的长度   STAC SEGMENT STACK   DB 128 DUP(?)   STAC ENDS   DATA SEGMENT   SOURCE DB N*2 DUP(?) ;顺序存放A0,…,A9,B0,…,B9   RESULT DB N DUP(0) ;顺序存放C0,…,C9   NAME0 DB INPUT1.DAT,0   NAME1 DB OUTPUT1.DAT,0   DATA ENDS   CODE SEGMENT   ASSUME CS:CODE,DS:DATA,SS:STAC   START PROC FAR   PUSH DS   XOR AX,AX   PUSH AX   MOV AX,DATA   MOV DS,AX   LEA DX,SOURCE ;数据区起始地址   LEA SI,NAME0 ;原始数据文件名   MOV CX,N*2 ;字节数   CALL LOAD ;从INPUT1.DAT中读取数据   ;****BEGIN****   MOV DI,OFFSET RESULT ;结果从RESULT开始存放   MOV BX,0   MOV CX,N   PRO: MOV AH,0   MOV AL,_______________ ;序列Bk中的一个字节   MOV DL,AL ;暂存Bk   ________ AL,SOURCE[BX] ;Ck=Bk+Ak   JNO STAY ;无溢出转STAY   JUMP1: MOV AH,00 ;有溢出   ADD DL,0   JNS JUMP ;Bk为正数(为一个正数加上一个正数,结果为   ;负数的溢出情况)转JUMP(AH已为00H)   MOV AH,_______________ ; Bk为负数(为一个负数加上一个负数,结果为   ;正数的???出情况)将结果变为有符号字的形式   ;(为负)   JMP __________________   STAY: _________ ;AL中数的符号扩展到AH,无符号字节变成无符   ;号字,有符号字节变成有符号字   JUMP1: MOV [DI],AX   ADD DI,2   INC BX   DEC CX   JNZ PRO   ;****END****   LEA DX,RESULT ;结果数据区首址   LEA SI,NAME1 ;结果文件名   MOV CX,N*2 ;字节数   CALL SAVE ;保存结果到文件   RET   START ENDP   CODE ENDS   END START

您可能关注的文档

文档评论(0)

2017ll + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档