【汇编语言实战】输入10个整数求最大值

简介: 【汇编语言实战】输入10个整数求最大值

C语言描述该程序流程:


#include <stdio.h>
int main()
{
  int a[10];
  for(int i=0;i<10;i++)
  {
  scanf("%d",&a[i]);
  }
  int max=a[0];
  for(int i=1;i<=9;i++)
  {
  if(a[i]>=max)
  {
    max=a[i];
  }
  }
  printf("%d",max);
}


汇编语言:


include irvine32.inc
.data
arr dword 10 dup(?) ;dup(?) 表示元素被初始化为未定义的值
num dword 9 ;需对比9次
.code
main proc
lea esi,arr
mov ecx,10
inputloop:
call readint
mov [esi],eax
add esi,4
loop inputloop
mov esi,offset arr
mov eax,[esi] ;设第一个元素为最大值
findmax:
cmp num,0
jz output ;如果num为0,则输出
mov edx,[esi+4] ;下一个数
cmp eax,edx
jge nextnum ;如果该数不比eax大,就继续往下找
mov eax,edx
nextnum:
add esi,4
dec num
jmp findmax
output:
call writeint
main endp
end main



运行结果:


目录
相关文章
|
2月前
|
C语言
【汇编语言实战】实现九九乘法表
【汇编语言实战】实现九九乘法表
25 2
|
2月前
|
C语言
【汇编语言实战】实现输出集合{1,2,...,n}全排列
【汇编语言实战】实现输出集合{1,2,...,n}全排列
22 1
|
2月前
|
C语言
【汇编语言实战】给定一个句子,将大写字母变为小写
【汇编语言实战】给定一个句子,将大写字母变为小写
29 1
|
2月前
|
C语言
【汇编语言实战】最小公倍数和最大公约数
【汇编语言实战】最小公倍数和最大公约数
45 1
|
2月前
|
C语言
【汇编语言实战】二分查找
【汇编语言实战】二分查找
18 1
|
2月前
|
C语言
【汇编语言实战】冒泡排序
【汇编语言实战】冒泡排序
25 1
【汇编语言实战】冒泡排序
|
2月前
|
C语言
【汇编语言实战】解迷宫问题
【汇编语言实战】解迷宫问题
24 2
|
2月前
|
算法 C语言 网络架构
【汇编语言实战】整数拆分问题
【汇编语言实战】整数拆分问题
22 2
|
2月前
|
C语言
【汇编语言实战】基础知识+函数的引用(求1+2+..+N)+OllyDBG的使用
【汇编语言实战】基础知识+函数的引用(求1+2+..+N)+OllyDBG的使用
13 1
|
2月前
|
C语言
【汇编语言实战】对给定的数组实现堆排序
【汇编语言实战】对给定的数组实现堆排序
17 1