程序要求:

  先输入一个数n(0<n<=100),再输入n个无符号数K(0<=K<=65535),找出这n个数的最大值并输出

  测试实例保证输入每个数之后,都会以回车结束

代码:

 ;程序要求:先输入一个数n(0<n<=100),再输入n个无符号数K(0<=K<=65535),找出这n个数的最大值并输出
;实例保证输入的每个数都以回车结束 STACK SEGMENT STACK 'STACK'
STAK DW DUP(?)
STACK ENDS DATA SEGMENT
MAX_NUM DW ?
DATA ENDS CODE SEGMENT
ASSUME CS:CODE,DS:DATA,SS:STACK
MAIN PROC
START: MOV AX,DATA
MOV DS,AX
CALL INPUT
MOV CX,BX ;循环次数为BX,赋值给CX
XOR AX,AX ;AX置0,保存最大值
NEXT_L: CALL INPUT
CMP AX,BX
JA JUMP
MOV AX,BX
JUMP: LOOP NEXT_L
MOV MAX_NUM,AX
MOV BX,MAX_NUM
CALL OUTPUT
MOV AH,4CH
INT 21H
MAIN ENDP INPUT PROC ;入口参数:无 出口参数:BX(因此不能超过65535)
PUSH AX
PUSH CX
PUSH DX
PUSH SI ;保存乘数
XOR BX,BX
XOR CX,CX
XOR DX,DX
MOV SI,
NEXT: MOV AH,
INT 21H ;接收键盘的数字
CMP AL,0DH ;判断是否是回车
JZ DONE ;JZ:等于则跳转
CMP AL,''
JB ERROR1 ;JB:小于则跳转
CMP AL,''
JA ERROR1 ;JA:大于则跳转
SUB AL,30H ;将ASCII码字符变为对应的数字
MOV CL,AL
MOV AX,BX
MUL SI
ADD AX,CX
MOV BX,AX
JMP NEXT ;继续接收下一个数据
ERROR1: MOV BX,0FFFFH
JMP EXIT
DONE: MOV DL,0AH
MOV AH,
INT 21H ;输出回车
MOV DL,0DH
MOV AH,
INT 21H
EXIT: POP SI
POP DX
POP CX
POP AX
RET ;子程序返回
INPUT ENDP OUTPUT PROC NEAR ;入口参数:BX 出口参数:无
PUSH AX ;保护寄存器
PUSH BX
PUSH CX
PUSH DX
PUSH SI
MOV SI, ;SI中是除数
XOR CX,CX
MOV AX,BX ;入口参数在BX中
NEXT1: MOV DX, ;DX存放余数,清零
DIV SI ;AX和DX组成的32位除以16位的SI,商保存在AX中,余数保存在DX中
PUSH DX
INC CX ;CX++,CX记录有多少位
CMP AX,
JNZ NEXT1 ;JNZ 不等于则跳转
OUTP: POP DX ;余数出栈
ADD DL,30H
MOV AH,
INT 21H
LOOP OUTP
POP SI ;恢复寄存器
POP DX
POP CX
POP BX
POP AX
RET ;子程序返回
OUTPUT ENDP
CODE ENDS
END START

03_汇编语言(n个数找最大值)的更多相关文章

  1. PTA 利用指针找最大值

    6-6 利用指针找最大值 (10 分)   本题要求实现一个简单函数,找出两个数中的最大值. 函数接口定义: void findmax( int *px, int *py, int *pmax ); ...

  2. java练习题:解一元二次方程、判断闰年、判断标准身材、三个数取最大值

    1.解一元二次方程 注:求根公式为(-b+根号德尔塔)/2a,(-b-根号德尔塔)/2a Scanner sc=new Scanner(System.in); System.out.println(& ...

  3. POJ1064 Cable master 【二分找最大值】

    题目:题目太长了! https://vjudge.net/problem/POJ-1064 题意分析:给了你N根长度为小数形式的棍子,再给出了你需要分的棍子的数量K,但要求你这K根棍子的长度必须是一样 ...

  4. [原创]java WEB学习笔记41:简单标签之带属性的自定义标签(输出指定文件,计算并输出两个数的最大值 demo)

    本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...

  5. Leetcode之深度优先搜索(DFS)专题-515. 在每个树行中找最大值(Find Largest Value in Each Tree Row)

    Leetcode之深度优先搜索(DFS)专题-515. 在每个树行中找最大值(Find Largest Value in Each Tree Row) 深度优先搜索的解题详细介绍,点击 您需要在二叉树 ...

  6. python 可变数量参数 ( 多参数返回求 参数个数,最大值,最大值)

    一. 自定义一串数字求 参数个数,最大值,最大值()---------方法一: def max(*a): m=a[0] p=a[0] n=0 for x in a: if x>m: m=x n+ ...

  7. LeetCode 515. 在每个树行中找最大值(Find Largest Value in Each Tree Row)

    515. 在每个树行中找最大值 515. Find Largest Value in Each Tree Row 题目描述 You need to find the largest value in ...

  8. Java实现 LeetCode 515 在每个树行中找最大值

    515. 在每个树行中找最大值 您需要在二叉树的每一行中找到最大的值. 示例: 输入: 1 / \ 3 2 / \ \ 5 3 9 输出: [1, 3, 9] /** * Definition for ...

  9. java代码求输入的三个数的最大值

    package com.c2; import java.util.Random; import java.util.Scanner; //输入10个数,找出最大一个数,并打印出来. public cl ...

随机推荐

  1. 重构第23天 引用参数对象(Introduce Parameter Object)

    理解:有时候我们的一个方法,需要很多个参数,太多参数,不易阅读和理解,我们就可以把多个参数封装成一个对象. 详解: 重构前代码: public class Registration { public ...

  2. Javascript小笔记

    1.315360000000 毫秒 = 10年 2.Javascript 取时间截: JavaScript 获取当前时间戳: 第一种方法: var timestamp = Date.parse(new ...

  3. 判断s2是否能够被通过s1做循环移位(rotate)得到的字符串是否包含

    问题:给定两个字符串s1和s2,要求判断s2是否能够被通过s1做循环移位(rotate)得到的字符串包含.例如,S1=AABCD和s2=CDAA,返回true:给定s1=ABCD和s2=ACBD,返回 ...

  4. YAML初探

    http://www.cnblogs.com/chwkai/archive/2009/03/01/249924.html 1 概念YAML是一种人们可以轻松阅读的数据序列化格式,并且它非常适合对动态编 ...

  5. ahjesus动态生成表达式树

    直接上方法,看的懂的拿去用,看不懂的找资料看懂 , , Double floorprice = , Double topprice = , string brandstr = "" ...

  6. OS X 在Cisco无线环境下丢包分析 part 1

    补发一篇博客,之前遇到的没有写成博文的一个情况.我擦,那一阵儿真是被无线搞疯了. 现象:苹果OS X用户连入WiFi之后莫名丢包,而且有规律的丢,丢个5s恢复正常,再过会儿再丢5s左右. 就如同这样 ...

  7. ABAP程序中退出操作(CHECK, EXIT, RETURN, LEAVE PROGRAM)

    这里总结一下几个常用的退出操作:  CHECK.(SAP官方推荐只在循环中使用) 1)CHECK 后面要跟一个表达式,当表达式值为假(false)时,CHECK发生作用,退出循环(LOOP)或处理程序 ...

  8. ABAP SY-SUBRC 使用过程中返回值的几种含义

    当进行Debug的时候,经常会遇到"SY-SUBRC"的返回值.具体如何使用.在各种语句下返回值. ================= FUNCTION MODULE (或RFC中 ...

  9. SAP RFC通信模式

    在网络技术中,数据通信可以大致划分为两种基本模式:同步通信和异步通信. 其本义是:异步通信时,通信双方时钟允许存在一定误差:同步通信时,双方时钟的允许误差较小.在SAP的系统间的通信过程中,也借用术语 ...

  10. smali语法中文版

    作者:Gabor Paller    翻译:YULIANGMAX v1.0 表中的vx.vy.vz表示某个Dalvik寄存器.根据不同指令可以访问16.256或64K寄存器. 表中lit4.lit8. ...