汇编网首页登录博客注册
ryan1779的学习博客
博客首页博客互动【做检测题】论坛求助

我的博客

个人首页 |  我的文章 |  我的相册 |  我的好友 |  最新访客 |  文章收藏 |  论坛提问 |  友情链接 |  给我留言  
图片载入中
学习动态
最新留言
文章收藏
友情链接

[2009-07-16 17:42] 实验5.5

程序如下,编写code段中的代码,将a段和b段中的数据依次相加,将结果存到c段中。
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,c
      mov ds,ax

      mov ax,a
      mov es,ax
      mov bx,0
      mov cx,8
    s:mov dx,es:[bx]
      mov [bx],dx
      add bx,2
      loop s

      mov ax,b
      mov es,ax
      mov bx,0
      mov cx,8
   s0:mov dx,es:[bx]
      add [bx],dx
      add bx,2
      loop s0

      mov ax,4c00h
      int 21h
——————————————————————————
code ends

end start

个人感觉写的有点繁琐,因为中间2段循环内容差不多。想要把它们合并循环,但是发现 段存储器 不够用(es和ds已经用了。cs和ss是不能用的),不知道这道题目这样是标准答案吗?
评论次数(1)  |  浏览次数(412)  |  类型(汇编作业) |  收藏此文  | 

[  younggay   发表于  2009-07-16 17:45  ]

这样的做法已经很不错了。加油!

 
 请输入验证码  (提示:点击验证码输入框,以获取验证码