微机原理 汇编语言
微机原理汇编语言已知BUF1中有N1个从小到大的顺序排列互不相等的字符号数,BUF2中有N2个从小到大的顺序排列互不相等的字符号数,编写程序将BUF1和BUF2中的数合并...
微机原理 汇编语言已知BUF1中有N1个从小到大的顺序排列互不相等的字符号数,BUF2中有N2个从小到大的顺序排列互不相等的字符号数,编写程序将BUF1和BUF2中的数合并到BUF3中,使在BUF3中存放的数互不相等,且从小到大的顺序排列。
展开
1个回答
展开全部
data segment
buf1 db 1,3,4,5,7,9
n1 equ $-buf1
buf2 db 2,4,6,8,10,12
n2 equ $-buf2
buf3 db n1+n2 dup(0)
data ends
code segment
assume cs:code, ds:data
start:
mov ax, data
mov ds, ax
lea si, buf1
lea di, buf2
lea bx, buf3
mov cx, 0 ;ch->index for buf1
;cl->index for buf2
$1:
cmp ch, n1
jz $8
cmp cl, n2
jz $9
mov al,[si]
cmp al,[di]
ja $2
jb $3
mov [bx], al
inc bx
inc si
inc di
inc ch
inc cl
jmp $1
$2:
mov al, [di]
mov [bx],al
inc cl
inc bx
inc di
jmp $1
$3:
mov [bx], al
inc ch
inc bx
inc si
jmp $1
$8:
cmp cl, n2
jz $10
mov al,[di]
mov [bx],al
inc bx
inc di
inc cl
jmp $8
$9:
cmp ch,n1
jz $10
mov al,[si]
mov [bx],al
inc si
inc bx
inc ch
jmp $9
$10:
mov ah,4ch
int 21h
code ends
end start
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询