标题:帮忙看一个程序,关于数组赋值的。
只看楼主
howarezhao
Rank: 1
等 级:新手上路
帖 子:39
专家分:0
注 册:2006-12-9
 问题点数:0 回复次数:0 
帮忙看一个程序,关于数组赋值的。
数组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数组却看不到东西,希望高手帮我看看。
搜索更多相关主题的帖子: 赋值 堆栈 STACKS SEGMENT DATAS 
2008-01-09 21:57



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-196757-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.194989 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved