. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->包含多个段的程序
主题 : :  实验五(5)(6)自己做的程序,请高手鉴定  [待解决] 回复[ 11次 ]   点击[ 603次 ]  
zoudaokou2006
[帖 主] [ 发表时间:2011-02-12 17:23 ] 
荣誉值:0
信誉值:2
注册日期:2011-02-09 21:07
(5)程序: 
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 

c segment 
        db 0,0,0,0,0,0,0,0 
c ends 

code segment 

start: 
        mov bx,0 
        mov cx,8 
s: 
        ;read a[bx] 
        mov ax,a 
        mov ds,ax 
        mov dl,ds:[bx] 

        ;add b[bx] 
        mov ax,b 
        mov ds,ax 
        add dl,ds:[bx] 
         
        ;write c[bx] 
        mov ax,c 
        mov ds,ax         
        mov ds:[bx],dl 
         
        inc bx 
        loop s 

        mov ax,4c00h 
        int 21h 

code ends 

end        start 



(6)程序 
assume cs:code 

a segment 
        dw 1,2,3,4,5,6,7,8,9,0ah,0bh,0ch,0dh,0eh,0fh,0ffh 
a ends 

b segment 
        dw 0,0,0,0,0,0,0,0 
b ends 

code segment 

start: 
        mov ax,a 
        mov ds,ax 

        mov ax,b 
        mov ss,ax 
        mov sp,16 

        mov cx,8 
s: 
        push [bx] 
        add bx,2 
        loop s 

        mov ax,4c00h 
        int 21h 

code ends 

end        start
masmaster
[第1楼] [ 回复时间:2011-02-13 14:41 ] 
荣誉值:268
信誉值:12
注册日期:2010-06-18 22:19
第一哦用计算好偏移地址就可以了。
mov ax,a
mov ds,ax
mov bx,0
mov cx,8
s:
mov al,[bx]
add al,[bx+8]
mov type ptr [bx+16],al
inc bx
loop s
需要登录后才能回帖 -->> 请单击此处登录
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved