帮忙看一个程序,关于数组赋值的。
数组A有5个元素,数组B有7个元素,把数组A与数组B相同的元素放在C数组上,在把数组C打印出来。DATAS SEGMENT
StringA dw 2,3,4,5,6
StringB dw 3,4,5,6,7,8,9
StringC dw 6 dup (?)
DATAS ENDS
STACKS SEGMENT
;此处输入堆栈段代码
STACKS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
MOV AX,DATAS ;把StringA,StringB,StringC的偏移地址分别赋值给[si],[di],[bx]
MOV DS,AX
lea si,StringA
mov es,ax
lea di,StringB
lea bx,StringC
mov dl,5
cld
bj_1:mov ax,[si] ;把数组A第一个元素于数组B所有元素比较
mov cx,7
repnz scasw
jz addele ; 若相同,则跳到addele
add si,2
dec dl
jnz bj_1
jmp exit
addele:mov ax,es:[di] ;把相同的数值赋值给C数组
mov [bx],ax
add si,2
add bx,2
jmp bj_1
exit:mov [bx],'$' ;把'$'赋值给C数组的最后一个元素
lea dx,StringC
mov ah,9 ;9号中断把C数组打印出来
int 21h
MOV AH,4CH
INT 21H
CODES ENDS
END START
但是C数组却看不到东西,希望高手帮我看看。