2个回答
展开全部
;我假空野设你的数都占两个字节兄粗
mov si, A
mov ax, [si]
mov cx, 99
L2:
add si, 2
cmp ax, [si]
jmple L1
mov ax, [si]
L1:
loop L2
运行到这里,ax中的数就是最小斗尘喊数了。
其实意思就是
ax = A[0];
for(i = 1; i <= 99; i++){
if(ax > A[i])
ax = A[i];
}
mov si, A
mov ax, [si]
mov cx, 99
L2:
add si, 2
cmp ax, [si]
jmple L1
mov ax, [si]
L1:
loop L2
运行到这里,ax中的数就是最小斗尘喊数了。
其实意思就是
ax = A[0];
for(i = 1; i <= 99; i++){
if(ax > A[i])
ax = A[i];
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
;以字节为例,如过是歼镇字,则自行更改数据类型和指隐竖针SI
N EQU 99
STAC SEGMENT STACK
DB 128 DUP(?)
STAC ENDS
DATA SEGMENT
A DB 1,2,3,4,..........(你的数据区)
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,SS:STAC
START PROC FAR
PUSH DS
XOR AX,AX
PUSH AX
MOV AX,DATA
MOV DS,AX
;****BEGIN****
LEA SI,A
MOV CX,N
loopment:
mov al,[si]
mov bl,[si+1]
cmp al,bl
inc si
jng loopment ;AL存放较小数,如果不大于后者则继续下次比较
xchg al,bl ;如果大于则交换得较小数,
loop loopment ;直到最灶改大后,得最小数,在al
START ENDP
CODE ENDS
END START
N EQU 99
STAC SEGMENT STACK
DB 128 DUP(?)
STAC ENDS
DATA SEGMENT
A DB 1,2,3,4,..........(你的数据区)
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,SS:STAC
START PROC FAR
PUSH DS
XOR AX,AX
PUSH AX
MOV AX,DATA
MOV DS,AX
;****BEGIN****
LEA SI,A
MOV CX,N
loopment:
mov al,[si]
mov bl,[si+1]
cmp al,bl
inc si
jng loopment ;AL存放较小数,如果不大于后者则继续下次比较
xchg al,bl ;如果大于则交换得较小数,
loop loopment ;直到最灶改大后,得最小数,在al
START ENDP
CODE ENDS
END START
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询