云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 福州大学汇编语言课程作业1~5

福州大学汇编语言课程作业1~5

  • 62 次阅读
  • 3 次下载
  • 2025/12/10 3:54:13

作业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 WRITESTRING MOV CL,COUNT INPUT: CALL READINT MOV DAT[ESI],AL INC ESI LOOP INPUT MOV ESI,0 MOV CL,COUNT

JUDGE: MOV AL,DAT[ESI] CMP AL,0 JNL ZHENG FU: INC T1 JMP NEXT ZHENG: INC T0 NEXT: INC ESI LOOP JUDGE XOR EAX,EAX LEA EDX,PROMPT3 CALL WRITESTRING MOV AL,T0 CALL WRITEINT MOV EDX,OFFSET PROMPT CALL WRITESTRING MOV AL,T1 CALL WRITEINT CALL CRLF JMP START END START 2.2求最大数

内容:DAT开始的字单元中存放N个无符号数,求出最大数存入MAX单元中。

DAT DW X1,……,XN MAX DW ?

INCLUDE IRVINE32.INC

搜索更多关于: 福州大学汇编语言课程作业1~5 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

作业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 D

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com