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

我的博客

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

[2012-10-10 18:08] 实验七

图片载入中
comment            ;  块注释
失误:
1、把数据输错了
2、偏移量计算失误
3、想到了除法溢出,但此处好像不需要 
说明:
1、bx作为年份的偏移
2、bx+idata作为收入的偏移,bx每次加4
3、si作为雇员数的偏移的,以上偏移的段地址在ds中
4、es:[di]->table中的单元 

              assume    cs:code,ds:data
        data  segment
;年份
              db        '1975','1976','1977','1978','1979','1980','1981','1982','1983','1984'
              db        '1985','1986','1987','1988','1989', '1990','1991','1992','1993','1994','1995'
;收入
              dd        16,22,382,1356,2390,8000,16000,24486,50065,97479,140417,197514
              dd        345980,590827,803530,1183000,1843000,2759000,3753000,4649000,5937000
;人数        
              dw        3,7,9,13,28,38,130,220,476,778,1001,1442,2258,2793,4037,5635,8226
              dw        11542,14430,15257,17800
        data  ends
;表格        
       table  segment
              db        21 dup('year summ ne ?? ')
       table  ends
        code  segment
      start:
              mov       ax,data
              mov       ds,ax
              mov       bx,0        ;ds:bx->数据
              mov       si,168      ;ds:si->雇员人数
              
              mov       ax,table
              mov       es,ax
              mov       di,0        ;es:di->表格

              mov       cx,21       ;循环21次
          s:
;复制年份 
              mov       ax,[bx]
              mov       dx,[bx+2]
              mov       es:[di],ax
              mov       es:[di+2],dx            ;完成复制年份  四个字节
;复制收入
              mov       ax,[bx+84]
              mov       dx,[bx+86]
              mov       es:[di+5],ax
              mov       es:[di+7],dx            ;完成收入的复制

              div       word ptr[si]
;将人均收入放入指定位置
              mov       es:[di+13],ax
;复制雇员数
              mov       ax,[si]
              mov       es:[di+10],ax           ;完成雇员数的复制
              
              add       bx,4
              add       si,2
              add       di,10h
              loop      s
;退出
              mov       ax,4c00h
              int       21h
        code  ends
              end       start
评论次数(1)  |  浏览次数(140)  |  类型(汇编作业) |  收藏此文  | 

[  fpamc   发表于  2012-10-10 19:20  ]

嗯嗯,对了。

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