| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 659 人关注过本帖
标题:关于masm5.0错误信息代码的问题
取消只看楼主 加入收藏
shuojingcao
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2012-9-26
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:1 
关于masm5.0错误信息代码的问题
王爽老师书里面第八章实验的程序。写了一个比较短的程序   但是在用masm编译的时候出现了好多错误代码 着实把我吓了一大跳   修改了几个错误  但是还是有9个逻辑错误 请帮忙指出错误在哪里  

   代码如下:
assume cs:codesg

data segment

    db '1975','1976','1977','1978','1979','1980','1981','1982','1983'
    db '1984','1985','1986','1987','1988','1989','1990','1991','1992'
    db '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

stack segment
    dw 0,0,
stack ends

codesg segment
start:  mov ax,data
     mov ds,ax
      
     mov bx,0
     mov si,0
     mov di,0
      
     mov cx,21
s:   mov ax,[bx]
     mov table:[di],ax
     add bx,2
      
     mov ax,[bx]
     mov table:[di+2],ax

     mov ax,[bx+52h]
     mov table:[di+5],ax
     add,bx,2
      
     mov ax,[bx+52h]
     mov table:[di+7],ax
      
     mov ax,[si+0ah]
     mov table:[di+0ah],ax
     push bx

     mov dx,table:[di+7]
     mov ax,table:[di+5]
     mov bx,table:[di+0ah]
     div bx
     mov table:[di+0dh],ax
     
     pop bx

     add bx,4
     add di,16
     add si,2
     
    loop s
     mov ax,4c00h
     int 21h

codesg ends
end start   

       mov ax,4c00h
       int 21h
codesg ends
end start
      

   编译中的错误代码:
2.txt(9): warning A4101: Missing data; zero assumed
2.txt(22): warning A4101: Missing data; zero assumed
2.txt(35): error A2068: Cannot address with segment register
2.txt(39): error A2068: Cannot address with segment register
2.txt(42): error A2068: Cannot address with segment register
2.txt(43): warning A4101: Missing data; zero assumed
2.txt(46): error A2068: Cannot address with segment register
2.txt(49): error A2068: Cannot address with segment register
2.txt(52): error A2068: Cannot address with segment register
2.txt(53): error A2068: Cannot address with segment register
2.txt(54): error A2068: Cannot address with segment register
2.txt(56): error A2068: Cannot address with segment register

  50386 + 450062 Bytes symbol space free

      3 Warning Errors
      9 Severe  Errors
搜索更多相关主题的帖子: 信息 
2012-09-26 12:32
shuojingcao
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2012-9-26
收藏
得分:0 
回复 楼主 shuojingcao
版主你好! 首先谢谢版主如此细致的为我讲解错误原因,由于我是刚刚开始学习8086汇编所以对于编程中的很多技巧和格式不了解。版主的解答我否可以这样理解  是否由于我没有定义table段的段地址 所以出现了错误   应该和程序开始定义data段一样  先需要让cpu知道我的table段的段地址   
2012-09-26 19:17
快速回复:关于masm5.0错误信息代码的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.014629 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved