例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
浙公网安备 33010602011771号