当前位置: 代码迷 >> 汇编语言 >> 《汇编语言》王爽著 实验五(5) 参考答案程序编译出错 求指教,该怎么解决
  详细解决方案

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

热度:6608   发布时间:2013-02-26 00:00:00.0
《汇编语言》王爽著 实验五(5) 参考答案程序编译出错 求指教
代码:
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

很是郁闷 求指教

------解决方案--------------------------------------------------------
稍高版本的汇编软件,都将 c 作为一个关键字了,所以不能再用做自己程序的变量名或标号。
要么用 Masm5 试试进行汇编;或者将标号或变量的 c 改个名字。
------解决方案--------------------------------------------------------
用作语言类别的设置。高版本的引入了些新的功能,会涉及到语言类别方面,主要是在命名和调用规则方面。在和其它语言的模块混合链接时尤为重要,双方的不一致会导致失败。
  相关解决方案