assume cs:codes,ds:datas
datas segment
db 23,45,12,78,98,25,86,73
db 0,0
db 16 dup(0)
datas ends
codes segment
start:
mov ax,datas
mov ds,ax
mov si,0
mov cx,8
mov al,byte ptr ds:[si];保存最大值
mov bl,byte ptr ds:[si];保存最小值
s:cmp byte ptr ds:[si],al;与最大值比较
jnb s1;不低于则跳到s1处
cmp byte ptr ds:[si],bl;与最小值比较
jna s2;不高于则跳到s2处
jmp L1
s1:mov al,byte ptr ds:[si];新的最大值
jmp L1
s2:mov bl,byte ptr ds:[si];新的最小值
jmp L1
L1:inc si
loop s
mov byte ptr ds:[16],al
mov byte ptr ds:[17],bl
mov ah,4ch
int 21h
codes ends
end start
本文详细介绍了如何使用汇编语言在给定的数据段中找到最大值和最小值。通过mov指令操作数据,利用循环和条件跳转实现,适合初学者理解基本指令的运用。

2602

被折叠的 条评论
为什么被折叠?



