当前位置:软件学习 > 其它软件 >>

x86汇编学习 ----- 一

 

;将a和b段中的数据相加存入d数据段 

;9-22-2011    

;Viyoung 

 

assume cs:code 

a segment 

    db 1,2,3,4,5,6,7,8 

a ends 

 

b segment  

    db 1,2,3,4,5,6,7,8 

b ends 

 

d segment 

    db 0,0,0,0,0,0,0,0 

d ends 

 

code segment 

    start:  mov bx,0 

            mov cx,8 

     

        S0: mov ax,a 

            mov ds,ax 

            mov dl,ds:[bx] 

            mov ax,d 

            mov ds,ax 

            mov ds:[bx],dl 

             

            inc bx 

            loop s0 

             

            mov bx,0 

            mov cx,8 

             

        S1: mov ax,b; 

            mov ds,ax 

            mov dl,ds:[bx] 

            mov ax,d 

            mov ds,ax 

            add dl,ds:[bx] 

            mov ds:[bx],dl 

            inc bx 

            loop S1 

             

            mov ax,4c00h 

            int 21h 

code ends 

end start 

 

程序中包含两个循环,第一个循环是将a段中的数据借助d寄存器传到d数据段中。第二个循环是将b段中的数据和d段中的数据相加存入dl中然后将dl中的数据传入d数据段中,从而达到要求。

不过在做实验时,我开始是将d数据段用c数据段表示的,不知道为什么。

这个程序利用debug调试是通过的

作者:VI_Young

补充:软件开发 , 其他 ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,