. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->包含多个段的程序
主题 : :  我苦思了一个小时做的第六章实验五第五小题  [待解决] 回复[ 36次 ]   点击[ 2882次 ]  
xindalu
[帖 主] [ 发表时间:2009-10-06 17:10 ] 
荣誉值:0
信誉值:0
注册日期:2009-09-25 18:08
大家看看我做的对不对,经过调试功能实现.只是觉得方法有前妥当.大家指点一二
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 ax,a 
       mov es,ax 
       mov ax,b 
       mov ds,ax 
       mov bx,0 
       mov cx,8 
 s:    mov ax,es:[bx] 
       add [bx],al 
       add bx,2
       loop s 
       
       mov ax,c 
       mov es,ax 
       mov bx,0 
       mov cx,8 
 s1:   mov ax,[bx] 
       mov es:[bx],ax 
       add bx,2
       loop s1 
       mov ax,4c00h 
       int 21h 
code ends 
end start
yo_007
[第9楼] [ 回复时间:2009-11-12 11:04 ] 
荣誉值:8
信誉值:0
注册日期:2009-10-29 10:41
可以只用一个循环,又不超出6章的范围
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 ax,a  
       mov es,ax  
       mov ax,b  
       mov ds,ax
       mov ax,c
       mov ss,ax  
       mov bx,0  
       mov cx,8  
 s:    mov al,ds:[bx]  
       add al,es:[bx]  
       mov ss:[bx],al
       inc bx 
       loop s  
        
       mov ax,4c00h  
       int 21h  
code ends  
end start
需要登录后才能回帖 -->> 请单击此处登录
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved