benzuo2012 发表于 2015-10-11 20:56:55

求教一个编译出错的问题!

代码如下:


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, c
       mov es, ax
       mov bx, 0
       mov cx, 8
l1:    mov al,
       mov ah, 0
       mov es:, al
       add bx, 1
       loop l1
       mov ax, b
       mov ds, ax
       mov cx, 8
       mov bx, 0
l2:    mov al,
       mov ah, 0
       mov dl, es:
       add al, dl
       mov es:, al
       loop l2
       movax, 4c00h
       int 21h
code ends
end start


编译环境:win8.1 x86_64



报错如下!

benzuo2012 发表于 2015-10-11 20:57:38

根据错误提示,c段编译器不认?

benzuo2012 发表于 2015-10-11 21:23:39

我也不知道该怎么解!

benzuo2012 发表于 2015-10-11 21:31:54

请大家帮帮啊!

2418267670 发表于 2015-10-12 07:55:22

把C改个名字吧,比如ma,lkjd,。。。。没有什么太相近意义的名字,能通过的。

2418267670 发表于 2015-10-12 07:57:15

只是用这个名字做段名不行。换个就好。我换后已经通过。我以前也有过这样的,段名用单个字符,莫名的通不过。

benzuo2012 发表于 2015-10-12 23:22:41

嗯,换个别的,能通过!但是王爽老师,书里用的是这个,当时怎么也找不出错来!还是谢谢大家!这到底是我的问题,还是编译器的问题呢?

2418267670 发表于 2015-10-13 08:12:34

我的也一样,用单字符做标记,说不了那个就通不过。段名,标记符,最好用有一定意义的字符,容易记。

tianyuan 发表于 2015-10-17 00:06:21

#5楼说的好,只是楼主用的MASM版本是多少的。

疯狂战圣 发表于 2015-10-17 20:25:05

不是单字符不行,是用C就不行。我试过
页: [1]
查看完整版本: 求教一个编译出错的问题!