回 帖 发 新 帖 刷新版面

主题:有10数,进行求最大值和最小值???

datarea SEGMENT
   array db 12,13,4,7,89,12,24,34,46,78 
   min db ?
   max db ?
datarea ENDS
program SEGMENT
    ASSUME CS:program,DS:datarea
START:
    mov ax,datarea
    mov ds,ax
    mov cx,10
    lea si,array
    mov dx,[si]
    mov bx,[si]
    mov ax,[si]
    jcxz DONE
lab:CMP ax,dx
    jnl ma
    cmp bx,ax
    jnl mi
 ma:mov dx,ax
    jmp next
 mi:mov bx,ax 
 next:add si,1
   mov ax,[si]
    loop lab
DONE:mov ah,9
     int 21h
program ENDS
END START


这个数字怎么输入啊????

回复列表 (共3个回复)

沙发

什么怎么输入的不明白你的意思,十个数不是通过地址指针传过取的么,

板凳

应该是输出!!!!!!

3 楼

把最大最小的都找到后,分别放到max和min中,然后再把max和min中的数分别放到dl中
然后输出

mov dl,max     ;输出最大值
mov ah,02h
int 21h

mov dl,13    ;回车
mov ah,02h
int 21h
mov dl,10
mov ah,02h
int 21h

mov dl,min    ;输出最小值
mov ah,02h
int 21h

我来回复

您尚未登录,请登录后再回复。点此登录或注册