求出data为首地址的100D字数组中的最小偶数,并把它存放在AX中,目前只能做出无符号数,有待修改

来源:互联网 发布:手机优酷网络连接失败 编辑:程序博客网 时间:2024/06/11 10:35
DATAS SEGMENT;此处输入数据段代码  ARRAY DW 4,5,6,7,8,9,3,6,1,10,34,12,45,58,6,32,15,17,20,'$'Z DB 100,10DATAS ENDSSTACKS SEGMENT;此处输入堆栈段代码  DW 100 DUP(?)STACKS ENDSCODES SEGMENT    ASSUME CS:CODES,DS:DATAS,SS:STACKSSTART:    MOV AX,DATAS    MOV DS,AX        ;此处输入代码段代码    LEA BX,ARRAY    MOV DX,[BX]    MOV AX,4         ;AX初始值设为4TEST1: MOV CX,DX    ;判断是否是偶数       RCR CX,1     ;带进位循环右移一位       JNC OUSHU    ;偶数跳转       JC CONTINUE  ;奇数跳转OUSHU:        CMP AX,DX        JL  CONTINUE  ;如果小于AX,则将AX和CX的值交换,比较完之后AX中始终是最小的偶数        JNL JIAOHUAN ;较下一个数JIAOHUAN:MOV AX,DX         JMP CONTINUE      CONTINUE:ADD BX,2         MOV DX,[BX]         CMP DX,24H    ;与结束符$比较,看是否结束         JNZ TEST1     ;不相等跳转到比较处         JMP SHUCHUSHUCHU:        DIV Z        PUSH AX         CMP AL,0        JZ AA        ADD AL,30H        MOV DL,AL        MOV AH,02H        INT 21H     AA:POP AX        MOV AL,0        ADD AH,30H        MOV DL,AH        MOV AH,02H        INT 21H             MOV AH,4CH      INT 21HCODES ENDS    END START

0 0