例3.编定程序,将带符号的字节数组ARRY中最大数找出来,送到MAX单元中。
例3.编定程序,将带符号的字节数组ARRY中最大数找出来,送到MAX单元中。
分析:在字节数组中找出最大数,可以把每1个数送AL中,让AL与第2个数及它后面的每一个数进行比较,每次比较时将大者放AL中,最后把AL的值送MAX单元。
DATA SEGMENT ARRY DB 23H,78H,0ABH,0CDH,00H,56H DB 14H,86H,0EFH,0BCH,10H,0C0H CNT EQU $-ARRY ;字节个数 MAX DB ? DATA ENDS STACK SEGMENT PAPA 'STACK' DW 20H DUP(0) STACK ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STEG 段地址说明 START: MOV AX,DATA MOV DS,AX ;数据段地址装填 LEA SI,ARRY ;初始化地址指针 MOV CX,CNT-1 ;设置循环次数 MOV AL,SI LOP1: INC SI ;地址指针增1 CMP AL,[SI] ;与下一个数比较 JGE LOP2 ;大于等于时转LOP2 MOV AL,[SI] ;取较大的数放AL寄存器中 LOP2: LOOP LOP1 ;判断终止条件,CX-1≠0则循环 MOV MAX,AL ;保存最大数 MOV AH,4CH INT 21H ;返回DOS CODE ENDS END START