汇编语言:对内存中给定的几个无符号字节数,求其最大值最小值并显示出来(用子程序调用)。

2025-05-24 11:39:00
推荐回答(3个)
回答1:

data segment
mes1 db 'the max:$'
mes2 db 'the min:$'
a dw 42,20,100,456,99,120,89,12334,90,1239
data ends

code segment
main proc far
assume cs:code,ds:data
start:
push ds
sub ax,ax
push ax

mov ax,data
mov ds,ax
;以下是起泡排序核心代码
mov cx,10
dec cx

loop1:
mov di,cx
mov bx,0
loop2:
mov ax,a[bx]
cmp a[bx+2],ax
jge cotinue
xchg ax,a[bx+2]
mov a[bx],ax

cotinue:
add bx,2
loop loop2
mov cx,di
loop loop1

mov dx,offset mes1
mov ah,09h
int 21h
call crlf
mov bx,a[18]
call bini ;转换为十进制的子程序

call crlf ;回车换行子程序
mov dx,offset mes2
mov ah,09h
int 21h
call crlf
mov bx,a[0]
call bini
ret
main endp

bini proc near
mov cx,10000d
call bin
mov cx,1000d
call bin
mov cx,100d
call bin
mov cx,10d
call bin
mov cx,1d
call bin
ret
bini endp

bin proc near
mov ax,bx
mov dx,0
div cx
mov bx,dx
mov dl,al
add dl,30h
mov ah,02h
int 21h
ret
bin endp

crlf proc near
mov dl,0ah
mov ah,02h
int 21h
mov dl,0dh
mov ah,02h
int 21
ret
crlf endp
code ends
end start

回答2:

你是08电本的吧,我记住你了,你玩大了

回答3:

大头 知道 到505找他去