assume cs:codes,ds:datas
datas segment
db 23,45,12,78,98,25,86,73
db 0,0
db 16 dup(0)
datas ends
codes segment
start:
mov ax,datas
mov ds,ax
mov si,0
mov cx,8
mov al,byte ptr ds:[si];保存最大值
mov bl,byte ptr ds:[si];保存最小值
s:cmp byte ptr ds:[si],al;与最大值比较
jnb s1;不低于则跳到s1处
cmp byte ptr ds:[si],bl;与最小值比较
jna s2;不高于则跳到s2处
jmp L1
s1:mov al,byte ptr ds:[si];新的最大值
jmp L1
s2:mov bl,byte ptr ds:[si];新的最小值
jmp L1
L1:inc si
loop s
mov byte ptr ds:[16],al
mov byte ptr ds:[17],bl
mov ah,4ch
int 21h
codes ends
end start