PC上机.docVIP

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

第一套? ?   ===============================================================================? ?   试题说明 :? ?   ===============================================================================? ?    请编制程序PROG1.ASM,其功能是:内存中连续存放着二个无? ?   符号字节序列A(k)和B(k)(k=0,…,9;下同),求序列C(k),C(k)=A(k)+B(k)。? ?   C(k)以字的形式按C(0),…,C(9)的顺序连续存放。? ?    例如:? ?    序列A(k)为30H,31H,61H,FFH,…;? ?    序列B(k)为00H,01H,F1H,0AH,…。? ?    则结果C(k)为0030H,0032H,0152H,0109H,…。? ?    部分程序已给出, 其中原始数据由过程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 DW 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,DATAMOV DS,AX? ?    LEA DX,SOURCE ; 数据区起始地址? ?    LEA SI,NAME0 ; 原始数据文件名? ?    MOV CX,N*2 ; 字节数? ?    CALL LOAD ; 从 ’INPUT1.DAT’中读取数据? ?   ; **** BEGIN ****? ?    MOV DI,___________? ?    MOV BX,__? ?    ___________________? ?   PRO: MOV AH,0? ?    MOV AL,SOURCE[BX+10] ; 序列Bk中的一个字节? ?    __________________________ ; Ck=Bk+Ak? ?    JNC JUMP ; 无进位转JUMP? ?    __________________ ; 有进位,进位入AH? ?   JUMP: MOV [DI],AX ; Ck=Bk+Ak的字的形式存入RESULT? ?    INC BX? ?    ________________? ?    DEC CX? ?    JNZ PRO? ?   ; **** END ****? ?    LEA DX,RESULT ; 结果数据区首址? ?    LEA SI,NAME1 ; 结果文件名? ?    MOV CX,N*2 ; 结果字节数? ?    CALL SAVE ; 保存结果到

文档评论(0)

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

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

1亿VIP精品文档

相关文档