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

  • 相关阅读:
    模拟Spring的Ioc
    Java常见异常总结
    Java编码与乱码问题
    Java正则表达式入门
    观察者模式
    Java内存泄漏问题
    责任链模式
    选择排序(C++/Java实现)
    设计模式学习工厂模式
    Java验证码
  • 原文地址:https://www.cnblogs.com/viplanyue/p/12700586.html
Copyright © 2011-2022 走看看