为之疯狂 发表于 2014-4-5 13:55:29

好好的代码怎么可能报错了?

assumecs: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   ds,ax      
       mov   ax,b      
       mov   es,ax       
       mov        ax,c       
       mov        ss,ax   
       mov   bx,0
       mov        cx,8
       s:   
       mov        al,ds:       
       add        al,es:       
       mov        ss:,al       
       add        bx,1       
       loop        s      
       mov   ax,4c00h      
       int   21h
code    ends
end   start
老是报这个错



牡丹花下死做鬼 发表于 2014-4-5 14:02:36

我记得C是关键字吧

wiliam 发表于 2014-4-5 14:04:30

你的 ds:c哪去了??

福禄娃娃 发表于 2014-4-5 14:08:37

牡丹花下死做鬼 发表于 2014-4-5 14:02 static/image/common/back.gif
我记得C是关键字吧

这句话貌似N久之前见你回答过
这个问题貌似也有人提出来过
还有C/C++版块问i++ ++i的问题
真需要在汇编版块和C/C++整理一个FAQ了

wiliam 发表于 2014-4-5 14:08:50

是ss:C      

wiliam 发表于 2014-4-5 14:10:20

assumecs:code ,ss:c

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   ds,ax      
         mov   ax,b      
         mov   es,ax      
         mov      ax,c      
         mov      ss,ax   
         mov   bx,0
         mov      cx,8
         s:   
         mov      al,ds:      
         add      al,es:      
         mov      ss:,al      
         add      bx,1      
         loop      s      
         mov   ax,4c00h      
         int   21h
code    ends
end   start   这样改

wiliam 发表于 2014-4-5 14:11:20

在提醒下 不要用快捷方式 ml有时会报错 还是一步一步来 先 masmXX然后link XX

牡丹花下死做鬼 发表于 2014-4-5 14:29:35

福禄娃娃 发表于 2014-4-5 14:08 static/image/common/back.gif
这句话貌似N久之前见你回答过
这个问题貌似也有人提出来过
还有C/C++版块问i++ ++i的问题


是啊我提过类似问题了甲鱼说没办法的事情 不可能要求鱼友们在发帖前都先搜索一遍整个论坛

为之疯狂 发表于 2014-4-5 14:41:58

wiliam 发表于 2014-4-5 14:10 static/image/common/back.gif
assumecs:code ,ss:c

a       segment


那a和b怎么不要加 但ds:a,ds:b 啊?

大白鲨 发表于 2014-4-5 14:44:56

建议你把C该为其他字母,试一下

jiangyuming0434 发表于 2014-4-5 14:46:47

找找吧。一定有错的

wiliam 发表于 2014-4-5 14:48:04

大白鲨 发表于 2014-4-5 14:44 static/image/common/back.gif
建议你把C该为其他字母,试一下

你可以去试试    当然 也必须+ ds书上都是这样的吧

wiliam 发表于 2014-4-5 14:50:16

为之疯狂 发表于 2014-4-5 14:41 static/image/common/back.gif
那a和b怎么不要加 但ds:a,ds:b 啊?


你可以去试试    当然 也必须+ ds书上都是这样的吧

wiliam 发表于 2014-4-5 14:50:53

大白鲨 发表于 2014-4-5 14:44 static/image/common/back.gif
建议你把C该为其他字母,试一下

不好意思 回复错了   

wiliam 发表于 2014-4-5 14:56:01

话说 为啥你 定义数据段要定义两个 放在一起不行吗?

最好是明天 发表于 2014-4-5 15:05:14

路过,看看。。。

为之疯狂 发表于 2014-4-5 15:19:07

wiliam 发表于 2014-4-5 14:56 static/image/common/back.gif
话说 为啥你 定义数据段要定义两个 放在一起不行吗?

额,书上是这样来的,我还没学到,可以吧两个数据,放到一起,没见过。

为之疯狂 发表于 2014-4-5 15:19:45

wiliam 发表于 2014-4-5 14:48 static/image/common/back.gif
你可以去试试    当然 也必须+ ds书上都是这样的吧

我试了一下,可能c就是关键字,我改成别的字母就可以了

wiliam 发表于 2014-4-5 15:20:22

按你的思路这样改吧
assumecs:code,ss:c,ds:a,es:b

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   ds,ax      
         mov   ax,b      
         mov   es,ax      
         mov      ax,c      
         mov      ss,ax   
         mov   bx,0
         mov      cx,8
         s:   
         mov      al,ds:      
         add      al,es:      
         mov      ss:,al      
         add      bx,1      
         loop      s      
         mov   ax,4c00h      
         int   21h
code    ends
end   start
页: [1]
查看完整版本: 好好的代码怎么可能报错了?