汇编求数组最小值

汇编求数组中的最小值,串操作指令实现

主要用到的知识

LODSW 从串中读取指令



 DATA  SEGMENT     
TABLE     DW  12,32,43,65,76,8,7,6,4,3,56,76,45,34,5;15个数,最小值为 3
MIN DW  0
DATA  ENDS  
STAK  SEGMENT
      DW 20H DUP(?)
STAK  ENDS
CODE  SEGMENT
      ASSUME CS:CODE,DS:DATA
START:MOV AX,DATA
      MOV DS,AX;把值赋给DS
      LEA SI,TABLE ;取da首地址给SI
      MOV AX,0
      MOV BX,[SI]  ;将DA[0]值赋给MAX 
      MOV CX,14 ;循环15次,table[0]不用修改      
LOP:  LODSW ;AL<=DS[SI]  SI=SI+2 
      CMP BX,AX ; MIN  与AL比较   
      JB L1   ;若BL大于或等于AL则跳转到L1     
      MOV BX,AX
L1: LOOP LOP ;若CX!= 0 则继续跳转到LOP       
     MOV MIN,BX      
     MOV AH, 02H
     MOV DX,BX
     INT 21H      
     MOV AX,4C00H ;返回DOS 退出程序
     INT 21h 

CODE  ENDS
      END START

结果如下:

这里写图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值