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

  • 相关阅读:
    div minheight
    tomcat启动时doc窗口一闪而过的解决方法
    积分题05012014
    LaTeX技巧001:LaTeX中输入大小写罗马数字
    积分题1之来自G.Han的一道积分题
    LaTeX测试
    header函式的使用
    PHP中如何调用webservice
    在C++Builder中开发CGI的一点点体会
    PHP教程.经验技巧(中)
  • 原文地址:https://www.cnblogs.com/viplanyue/p/12700586.html
Copyright © 2011-2022 走看看