欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

已知字数组ARRAY中,存放着NUM个带符号数,要求找出偶数的最小值,结果放在MIN单元中。

程序员文章站 2022-03-10 08:23:06
...
DATA   SEGMENT
    
ARRAY  DW  20,-3,-4,-7,77,66,20,-21,-100,200 

NUM    EQU  10

MIN    DW  0FFFH            ;如果没有偶数,则显示0FFFH

XX     DB  0   ;标记符

DATA   ENDS

CODE  SEGMENT                                                                       
       
      ASSUME  CS:CODE, DS:DATA
      
START:  MOV   AX, DATA
  
        MOV   DS, AX
        
        MOV   CX, NUM - 1       
        
        MOV   SI, OFFSET  ARRAY  
        
        MOV   AX, [SI]
         
L1:     TEST  AX, 01H   ;判断奇偶
        
        JZ    L2      ;若是,跳转到L2
        
        JMP   L3      ;否则跳转到L3
        
L2:     CMP   XX, 0   ;XX为0,则还没找到第一个偶数,不为0,则找到了第一个偶数

        JE    L4      ;XX为0,跳转到L4
       
        CMP   MIN, AX  ;XX不为0,将这个偶数与前一个偶数比较
                       
        JLE   L3  
                
        MOV   MIN, AX   
        
        JMP  L3   
  
L3:     ADD   SI, 2         ;将SI加2,读取下一个数
    
        MOV   AX, [SI]
        
        LOOP  L1 
        
        JMP   NEXT

L4:    ADD   XX, 1     ;将XX加1,表示找到第一个偶数
 
       MOV   MIN, AX   ;将偶数赋值给min
       
       JMP   L3

NEXT:  MOV   AH, 4CH 

       INT   21H   
       
CODE   ENDS
       
       END   START
相关标签: 汇编语言