问道汇编题答案

来源:百度知道 编辑:UC知道 时间:2024/07/07 04:11:32
1、 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: