求出首地址为DATA的10d字数组中的最小偶数,并把它存放在ax中
程序员文章站
2024-01-30 21:52:10
...
DATAS SEGMENT
;此处输入数据段代码
data dw 1,2,3,4,5,6,7,8,9,10
DATAS ENDS
STACKS SEGMENT
;此处输入堆栈段代码
STACKS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
MOV AX,DATAS
MOV DS,AX
;此处输入代码段代码
mov bx,0
mov cx,10
compare:
mov ax,data[bx] ;取数组的第一个偶数
add bx,2
test ax,01h ;是偶数吗?
loopnz compare ;不是,比较下一个
jnz stop ;没有偶数,退出
jcxz stop ;最后一个是偶数,即为最小偶数
compare1:
mov dx,data[bx] ;取数组的下一个偶数
add bx,2
test dx,01h ;是偶数吗?
jnz next ;不是,比较下一个数
cmp ax,dx ;(ax)<(dx)吗?
jle next
mov ax,dx ;(ax)<(dx),则置换(ax)为最小偶数
next:
loop compare1
stop:
mov dl,al
add dl,'0'
mov ah,2
int 21h
MOV AH,4CH
INT 21H
CODES ENDS
END START