问题: 汇编高手帮忙啊,急急急!!!
问题:AA1、BB1数组分别在数据段存放10个1位的十进制数据,编程序:(1)把AA1数组与BB1数组中下标为奇数的数对换,并显示出对换后的两数组来;(2)求出对换后两数组中各个的最大数,并用”MAX1=n1.”和”MAX2=n2“显示在屏幕上。
男生在这方面应该比较在行吧,实在是什么都不会啊,却只有几分了,但是小女子将会非常感谢的啊!
解答:
data segment
aa1 db '0123456789'
org 0010h
bb1 db '1234567890'
org 0020h
mess1 db 'max1=','$'
mess2 db 'max2=','$'
data ends
codes segment
main proc far
assume cs:codes,ds:data
start:
push ds
sub ax,ax
push ax
mov ax,data
mov ds,ax
mov bx,1
mov cx,5
go:
mov al,aa1[bx]
xchg al,bb1[bx]
mov aa1[bx],al
add bx,2
loop go
mov si,0
mov di,0
mov cx,10
lea si,aa1
lea di,bb1
print:
mov dl,[si]
mov ah,02
int 21h
inc si
mov dl,[di]
mov ah,02
int 21h
inc di
loop print
mov si,0
mov di,0
mov cx,9
mov al,aa1[si]
mov bl,bb1[di]
next:
cmp al,aa1[si+1]
ja skip1
mov al,aa1[si+1]
skip1:
inc si
cmp bl,bb1[di+1]
ja skip2
mov bl,bb1[di+1]
skip2:
inc di
loop next
lea dx,mess1
mov ah,09
int 21h
mov dl,al
mov ah,02
int 21h
lea dx,mess2
mov ah,09
int 21h
mov dl,bl
mov ah,02
int 21h
mov ah,4ch
int 21h
main endp
codes ends
end start
版权及免责声明
1、欢迎转载本网原创文章,转载敬请注明出处:侨谊留学(www.goesnet.org);
2、本网转载媒体稿件旨在传播更多有益信息,并不代表同意该观点,本网不承担稿件侵权行为的连带责任;
3、在本网博客/论坛发表言论者,文责自负。