zoukankan      html  css  js  c++  java
  • 汇编 十个数求其最大值(第二步)

    上篇我们讲到如何将内存中的三个数找出来,这篇我们继续将找出来的三个数完成比较,并且把最大的那个数对应的ASCII码输出到屏幕

    DATA SEGMENT
            DATABASE DB 61H,66H,56H
            DATA_MAX DB 00H
    DATA ENDS

    CODE SEGMENT
            ASSUME CS:CODE,DS:DATA
    START:
            MOV AX,DATA
            MOV DS,AX

            MOV CX,3
            MOV BX,OFFSET DATABASE                                    ;将变量首地址放入BX寄存器
            MOV DL,BYTE PTR DS:[BX]                                        ;初始化DL寄存器为第一个数据
            MOV DATA_MAX,DL                                                     ;初始化最大值为第一个数据
    GETMAX:
            MOV DL,BYTE PTR DS:[BX]
            CMP DL,DATA_MAX                                                        ;比较最大数和当前数
            JG TEMP                                                                             ;如果当前数大于前一步的最大数则跳转
    SIGN:
            INC BX                                                                                ;地址加一,指向当前数的下一个数
            LOOP GETMAX                                                                ;循环求取最大值
            MOV DL,DATA_MAX
            MOV AH,02H
            INT 21H
            MOV AH,4CH
            INT 21H

    TEMP:
            MOV DATA_MAX,DL
            JMP SIGN
    CODE ENDS
            END START

  • 相关阅读:
    锋利的jQuery复制粘贴(一)
    使用photoshop以及markman进行快速重构页面的几个步骤
    线程间同步之 semaphore(信号量)
    关于C#中Thread.Join()的一点理解
    无废话WCF入门教程一[什么是WCF]
    Oracle function注释
    throw new DataException("检查服务器是否存在失败:" + ex);
    C# 将数据集以excel的形式输出
    .net 安装remoting服务
    任务计划 每日删除设定目录内的文件(包括文件夹)
  • 原文地址:https://www.cnblogs.com/viplanyue/p/12700586.html
Copyright © 2011-2022 走看看