问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

8086汇编语言求数组中的最大值的程序,谁会?急求……⊙﹏⊙

发布网友 发布时间:2024-07-03 18:15

我来回答

1个回答

热心网友 时间:2024-07-29 18:23

CODE  SEGMENT
              ASSUME    CS:CODE
              ORG       100H
      START:
              PUSH      CS
              POP       DS
              PUSH      CS
              POP       ES
              CALL      INPUTNUM
              LEA       SI,ARRAY
              MOV       CX,[NUM]
              MOV       AX,0
              MOV       [NUM_MAX],AX
     @MAIN0:  MOV       AX,WORD PTR [SI]
              CMP       [NUM_MAX],AX
              JNC       @MAIN1      ; 无符号数用 jnc,有符号数用 jl
              MOV       [NUM_MAX],AX
     @MAIN1:  INC       SI
              INC       SI
              LOOP      @MAIN0
              LEA       DX,LFCR
              MOV       AH,9
              INT       21H
              MOV       AX,[NUM_MAX]
              CALL      DISPAX
              MOV       AH,4CH
              INT       21H
     NUM_MAX  DW        ?
        LFCR  DB        10,13,'$'
 ;==============================================================
 ; 键盘输入数值数组子程序(数组名为array,元素个数存放在num中)
    INPUTNUM  PROC      NEAR
              PUSH      AX
              PUSH      BX
              PUSH      CX
              PUSH      DX
              PUSH      SI
              PUSH      DI
              PUSH      BP
              PUSHF
              ; 输入的字数据以一个空格分隔,以回车符结束输入
              LEA       DI,ARRAY    ;将数组第一个元素的有效地址置入DI
              MOV       WORD PTR[NUM],0
       STIN:
              MOV       AX,0
              PUSH      AX
     AGAIN1:
              MOV       AH,1
              INT       21H
              MOV       BYTE PTR[CHAR],AL
              CMP       AL,13
              JE        LINE0
              CMP       AL,' '
              JE        LINE0
              SUB       AL,30H
              MOV       AH,0
              MOV       SI,AX
              POP       AX
              MOV       CL,10
              MOV       CH,0
              MUL       CX
              ADD       AX,SI
              PUSH      AX
              JMP       AGAIN1
      LINE0:
              POP       AX
              MOV       WORD PTR[DI],AX
              INC       WORD PTR[NUM]
              CMP       BYTE PTR[CHAR],13
              JE        STINEND
              INC       DI
              INC       DI
              JMP       STIN
    STINEND:
              POPF
              POP       BP
              POP       DI
              POP       SI
              POP       DX
              POP       CX
              POP       BX
              POP       AX
              RET
       ARRAY  DW        500 DUP(0)
         NUM  DW        0
        CHAR  DB        ?
    INPUTNUM  ENDP
              

    ; 将要显示的无符号数置于 ax 中 
      DISPAX  PROC      NEAR
              PUSH      AX
              PUSH      BX
              PUSH      CX
              PUSH      DX
              PUSH      SI
              PUSH      DI
              PUSH      BP
              PUSHF
              ;================
              PUSH      CS
              POP       DS
              MOV       BYTE PTR NZ,0
              PUSH      AX
              LEA       SI,DIVARR
              MOV       CX,5
         @1:
              POP       AX
              MOV       DX,0
              MOV       BX,[SI]
              DIV       BX
              PUSH      DX
              CMP       AL,0
              JNE       @2
              CMP       BYTE PTR NZ,1
              JE        @2
              CMP       CX,1
              JE        @2
              MOV       DL,20H
              JMP       @3
         @2:
              ADD       AL,30H
              MOV       DL,AL
              MOV       BYTE PTR NZ,1
         @3:
              MOV       AH,2
              INT       21H
              INC       SI
              INC       SI
              LOOP      @1
              POP       DX
              ;=============
              MOV       DL,32
              MOV       AH,2
              INT       21H
              POPF
              POP       BP
              POP       DI
              POP       SI
              POP       DX
              POP       CX
              POP       BX
              POP       AX
              RET
      DIVARR  DW        10000,1000,100,10,1
          NZ  DB        0
      DISPAX  ENDP
    

        CODE  ENDS
              END       START
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
临沂比较有名的男装品牌 呼伦贝尔市悦动网络科技有限公司怎么样? 呼伦贝尔中汇实业有限公司怎么样? 呼伦贝尔油玉不绝电子商务有限公司怎么样? 如何避免wps卡顿? 属鼠的男人找对象是属什么,属鼠的人和什么属相合 96年鼠的姻缘在哪年 属相相合年份运势提升 2024属鼠找对象属什么最佳 黑客攻击网站能报案吗 黑客攻击报案有用吗 汇编语言怎样实现从键盘输入一个十六进制数打印出其对应的十进制?_百 ... ...不能长期吃的话一般吃多久就要停,然后再隔多久可以吃呢,_百度知 ... 加利弗设计在国际上的地位如何? ...的个体工商户,超过定额,既开普通发票又开专用发票如何纳税? 五岳是哪五岳东岳泰山 泰山又名东岳,有"五岳独尊"之称。海拔1545米,屹... 形容唯我独尊的句子 什么是SAN值在克苏鲁神话桌面游戏中扮演的角色? 克苏鲁神话4大高科技种族(上) 克苏鲁神话魔法物品 如何把mp4格式的视频转换成手机能播放 魏本玉分工 求96年老游戏。像俄罗斯方块,四色方块组成长条,落下叠加没空档,四色齐... 求天狼星摄像头监控录像专家注册码和用户名,我的机器码:228297850757758281... 19迈腾领先和豪华的区别? 店门口放什么植物招财 做生意店门口招财植物 春节开店摆什么花好卖 春节花市卖什么花 开店店面摆放什么花招财开店店面摆放哪些花招财 bci棉和普通棉的区别bci棉和普通棉的区别介绍 足球的英语怎么写如何英语表达足球 比如:在百度用语音搜所摩托车,按住语音图形,图形上方显式文字麦克风不可... 单片机-汇编语言编程 汇编语言实验设计分支程序设计判断几个数据是正数还是负数 名正安络化纤丸联合名正治疗肝硬化患者60例 晚上老是睡不着怎么办呀 大自然的奥妙哪些 奥秒和奥秘有什么区别? 纽约大学入学成绩要求 干鱼翅怎么处理干鱼翅如何处理 打卡九曲十八弯景点的攻略是什么? 纽约大学什么时候入学 ...人脸识别一直失败,然后显示唤起安全核身验证失败怎么办 ...动弹不了,想叫也叫不了,我朋友说是‘鬼压身’,但是我不相信,我要... 10个月内的婴儿为什么禁止摇晃? 中国台湾男歌手陶喆跟哪些女歌手合唱过歌曲? 2024年城市危房拆除补偿标准是什么 非IgA系膜增生性肾炎症状体征 非IgA系膜增生性肾炎病理改变 2024年旧房拆迁补偿政策是怎样的? 平安保险出险三次,下次入保险会涨价吗? 九曲十八弯是哪个景区的景点