网站大量收购闲置独家精品文档,联系QQ:2885784924

福州大学汇编语言课程作业15.doc

  1. 1、本文档共16页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
福州大学汇编语言课程作业15

作业1.1 题目: 设某存储区有一数组ARRAY,现要求对数组中数据分别按正数(含0)和负数的绝对值累加,并统计正数和负数的个数。累加和与统计个数分别存入SUM1、SUM2、CUNT1和CUNT2单元中。 INCLUDE IRVINE32.INC .DATA DAT DD 1100B,1000B SUM DD ? .CODE START: XOR EAX,EAX MOV ESI,0 MOV EAX,DAT[ESI] ADD ESI,4 ADD EAX,DAT[ESI] MOV SUM,EAX EXIT END START 1.2两个32位数的相加运算 内容: DAT开始的单元中存放两个32位二进制 数,两个数相加后结果存入SUM单元中。 ( SUM为32位 ) DAT DD X1,X2 SUM DD ? INCLUDE IRVINE32.INC .DATA ARRAY DB 50 DUP(?) SUM1 DB ? SUM2 DB ? CUNT1 DB ? CUNT2 DB ? COUNT DB ? PROMPT1 BYTE 要输入几个数:,0 PROMPT2 BYTE 请输入数:,0 PROMPT3 BYTE 正数的个数和正数的和为:,0 PROMPT4 BYTE 负数的个数和绝对值和为:,0 PROMPT5 BYTE 是否退出?(Y/N),0 .CODE START: XOR EAX,EAX XOR EBX,EBX XOR ECX,ECX XOR EDX,EDX LEA EDX,PROMPT1 CALL WRITESTRING CALL READINT CMP EAX,0 JNG START MOV COUNT,AL MOV CL,COUNT MOV ESI,0 LEA EDX,PROMPT2 CALL WRITESTRING INPUT: CALL READINT MOV ARRAY[ESI],AL INC ESI LOOP INPUT XOR EAX,EAX XOR EBX,EBX XOR ECX,ECX XOR EDX,EDX MOV ESI,0 MOV CL,COUNT DEAL: MOV CH,ARRAY[ESI] CMP CH,0 JNL ZHENG FU: NEG CH ADD BL,CH INC DL JMP NEXT ZHENG: ADD AL,CH INC DH NEXT: INC ESI DEC CL CMP CL,0 JNE DEAL MOV SUM1,AL MOV SUM2,BL MOV CUNT1,DH MOV CUNT2,DL XOR EAX,EAX LEA EDX,PROMPT3 CALL WRITESTRING MOV AL,CUNT1 CALL WRITEINT CALL CRLF MOV AL,SUM1 CALL WRITEINT CALL CRLF LEA EDX,PROMPT4 CALL WRITESTRING MOV AL,CUNT2 CALL WRITEINT CALL CRLF MOV AL,SUM2 CALL WRITEINT CALL CRLF LEA EDX,PROMPT5 CALL WRITESTRING CALL READCHAR CMP EAX,Y JE QUIT CALL CRLF JMP START QUIT: EXIT END START 2.1统计正数(负数)的个数 内容:DAT开始的单元中存放N个字节有符号数,统计正数的个数存入T0单元中;负数的个数存入T1单元中; Dat DB X1,……,XN T0 DB ? T1 DB ? INCLUDE IRVINE32.INC .DATA DAT DB 50 DUP(?) T0 DB ? T1 DB ? COUNT DB ? PROMPT1 BYTE 请输入个数:,0 PROMPT2 BYTE 请输入数:,0 PROMPT3 BYTE 正数和负数的个数分别是:,0 PROMPT BYTE 、,0 .CODE START: MOV T0,0 MOV T1,0 XOR EAX,EAX XOR ECX,ECX MOV ESI,0 LEA EDX,PROMPT1 CALL WRITESTRING CALL READINT MOV COUNT,AL LEA EDX,PROMPT2 CALL WRITESTRI

文档评论(0)

185****7617 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档