mark db 30 dup (0)
hig db 0
lo db 0
data ends
stack segment stack
db 20 dup (0)
stack ends
code segment
assume cs:code,ss:stack
start:
mov ax,data
mov ds,ax
lea bx,mark
mov ah,[bx]
mov al,[bx]
mov si,1
goon:
cmp si,30
jnb over1
cmp ah,[bx+si]
jnb over2
mov ah,[bx+si]
over2:
cmp al,[bx+si]
jna over3
mov al,[bx+si]
over3:
inc si
jmp goon
over1:
mov hig,ah
mov lo,al ;取出最大和最小送入hig和lo
mov ah,0
call htod ;顯示最小數
mov dl,' '
mov ah,2
int 21h ;空格
mov al,hig
mov ah,0
call htod ;顯示最大數
mov ax,4c00h
int 21h
htod: ;子程序:以十進制顯示AL的數值
push bx
push cx
push dx
mov cl,0
goon2:
mov dx,0
mov bx,10
div bx
add dl,30h
push dx
inc cl
cmp ax,10
jna over4
jmp goon2
over4:
add al,30h
push ax
inc cl
goon3:
cmp cl,0
je over5
pop dx
mov ah,2
int 21h
dec cl
jmp goon3
over5:
pop dx
pop cx
pop bx
ret
code ends
end start