;从首地址爲buf开始存放有10个单字节无符号数,从这些数中找出 ;最大值,存入max中,并显示到屏幕上. data segment org 1000h buf db 22,38,19,09,82,92,76,31,83,53 max db 1 dup(?) data ends stack segment para stack 'stack' db 100 dup(?) stack ends code segment assume cs:code,ds:data,ss:stack start:mov ax,data mov ds,ax mov ax,stack mov ss,ax lea si,buf mov al,0 mov cx,10 loop1:cmp al,[si] jae x1 mov al,[si] x1: inc si loop loop1 mov max,al ;** mov bl,al mov cl,4 shr al,cl cmp al,10 jnc p1 add al,30h jmp s1 p1: add al,37h s1: call z1 mov al,bl and al,0fh jnc p2 add al,30h jmp s2 p2: add al,37h s2: call z1 mov ah,4ch int 21h z1 proc push ax push bx push cx push dx mov dl,al mov ah,2 int 21h pop dx pop cx pop bx pop ax ret z1 endp code ends end start