《汇编语言》王爽著 实验五(5) 参考答案程序编译出错 求指教

时间:2021-06-13 01:26:12
代码:
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 es,ax
mov ax,c
mov ds,ax

mov bx,0
mov cx,8
   s1: mov ax,es:[bx]
add [bx],ax
add bx,2
        loop s1

mov ax,b
mov es,ax
mov ds,ax

mov bx,0
mov cx,8
   s2: mov ax,es:[bx]
add [bx],ax
add bx,2
        loop s2

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

报错:
C:\myasm>ml test56.asm
Microsoft (R) Macro Assembler Version 6.11
Copyright (C) Microsoft Corp 1981-1993.  All rights reserved.

 Assembling: test56.asm
test56.asm(11): error A2008: syntax error : c
test56.asm(12): error A2034: must be in segment block
test56.asm(13): error A2008: syntax error : c
test56.asm(29): error A2008: syntax error : c

很是郁闷 求指教

3 个解决方案

#1


稍高版本的汇编软件,都将 c 作为一个关键字了,所以不能再用做自己程序的变量名或标号。
要么用 Masm5 试试进行汇编;或者将标号或变量的 c 改个名字。

#2


引用 1 楼 zara 的回复:
稍高版本的汇编软件,都将 c 作为一个关键字了,所以不能再用做自己程序的变量名或标号。
要么用 Masm5 试试进行汇编;或者将标号或变量的 c 改个名字。


非常感谢!小弟大一初学汇编!
请问高版本汇编软件将 c 作为关键字 那么c关键字是什么意思?

#3


用作语言类别的设置。高版本的引入了些新的功能,会涉及到语言类别方面,主要是在命名和调用规则方面。在和其它语言的模块混合链接时尤为重要,双方的不一致会导致失败。

#1


稍高版本的汇编软件,都将 c 作为一个关键字了,所以不能再用做自己程序的变量名或标号。
要么用 Masm5 试试进行汇编;或者将标号或变量的 c 改个名字。

#2


引用 1 楼 zara 的回复:
稍高版本的汇编软件,都将 c 作为一个关键字了,所以不能再用做自己程序的变量名或标号。
要么用 Masm5 试试进行汇编;或者将标号或变量的 c 改个名字。


非常感谢!小弟大一初学汇编!
请问高版本汇编软件将 c 作为关键字 那么c关键字是什么意思?

#3


用作语言类别的设置。高版本的引入了些新的功能,会涉及到语言类别方面,主要是在命名和调用规则方面。在和其它语言的模块混合链接时尤为重要,双方的不一致会导致失败。