程序要求:

  先输入一个数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. 搜索 --- 数独求解 POJ 2676 Sudoku

    Sudoku Problem's Link:   http://poj.org/problem?id=2676 Mean: 略 analyse: 记录所有空位置,判断当前空位置是否可以填某个数,然后直 ...

  2. C#文件和文件夹输入输出流代码

    1.建立一个文本文件 public class FileClass { public static void Main() { WriteToFile(); } static void WriteTo ...

  3. MarkDown学习记录

    一.基本语法 1.标题 建议在#后面加一个空格 2.列表 注意:符号和文字之间加上一个字符的空格 3.引用 4.链接 5.图片 6.粗体与斜体 7.代码框 8.分隔符 二.参考文章 http://ww ...

  4. 【C#进阶系列】00 序

    老早就被各种推荐<CLR via C#>这本书了,然而一直没去学. 因为工作中所需要的.NET功底目前算是足以应付了,而前端却不熟,所以跑去学了一段时间前端的知识. 终于算是把前端方面的基 ...

  5. ActiveReports 9 新功能:可视化查询设计器(VQD)介绍

    在最新发布的ActiveReports 9报表控件中添加了多项新功能,以帮助你在更短的时间里创建外观绚丽.功能强大的报表系统,本文将重点介绍可视化数据查询设计器,无需手动编写任何SQL语句,主要内容如 ...

  6. innerHTML和outerHTML有什么区别

    一.区别:1)innerHTML: 从对象的起始位置到终止位置的全部内容,不包括Html标签.2)outerHTML: 除了包含innerHTML的全部内容外, 还包含对象标签本身. 二.例子1: & ...

  7. servlet中的转发和重定向问题

    重定向和请求转发在学习servlet的时候很容易混淆,故在此特意记录. 1. 重定向---------sendRedirect()方法 Servlet响应请求有两种方式,一个是重定向,返回一个页面给客 ...

  8. mysql init-file参数中语句限制

    mysql 启动选项中的init-file文件的内容目测只能是dml语句,不能包含ddl,否则执行就会报错,但不影响启动本身..太扯了..

  9. styleCop

    1styleCop安装 安装参考 2和VS集成 要和vs集成一定要在安装时把MSBuild files那个选项选中的,否则安装后是不会和VS集成集成的. 3styleCop使用 User Guide ...

  10. ASP.NET MVC 微信公共平台开发之获取用户消息并处理

    ASP.NET MVC 微信公共平台开发 获取用户消息并处理 获取用户消息 用户发送的消息是在微信服务器发送的一个HTTP POST请求中包含的,获取用户发送的消息要从POST请求的数据流中获取 微信 ...