网络圣手 发表于 2012-4-19 17:02:29

must be in segment block

关于,实验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,a

      mov ds,ax

      mov ax,b

      mov es,ax

      mov ax,c

      mov ss,ax

      mov bx,0

      mov cx,8

s:      mov ax,

      mov ss:,ax

      mov ax,es:

      add ss:,ax

      inc bx

      loop s

      mov ax,4c00h

      int 21h

code ends

end start
上面是小鱼老师的第三种答案,为什么在编译的时候报错?
显示 syntax error :c
       must be in segment block
C语法错误,不在段中
你们的在机子里能运行嘛

网络圣手 发表于 2012-4-19 17:09:56

我试着将 将标号C 换成其它字母,可以通过编译,这是为什么?定义段不能用字母C??:dizzy:

hxs554f 发表于 2012-4-19 17:38:14

c是masm关键字

网络圣手 发表于 2012-4-19 21:28:45

那是不是说编写的时候不能用书中的A ,B C,要重新自己再标个名字?

hxs554f 发表于 2012-4-20 12:25:12

网络圣手 发表于 2012-4-19 21:28 static/image/common/back.gif
那是不是说编写的时候不能用书中的A ,B C,要重新自己再标个名字?

a,b可用,但最好都换成别人一看就懂意义的名字,如stack code data

网络圣手 发表于 2012-4-20 14:25:00

hxs554f 发表于 2012-4-20 12:25 static/image/common/back.gif
a,b可用,但最好都换成别人一看就懂意义的名字,如stack code data

知道了,十分感谢

ilyou2049 发表于 2014-1-14 17:02:24

今天我也遇到了这种情况

小名明SIU 发表于 2014-1-14 18:10:27

又是这个错误,C是关键字(保留字),你到MSDN查一下就知道了
页: [1]
查看完整版本: must be in segment block