3

私はアセンブリに関してまったく新しいので、プログラムを操作しようとしています。そのため、コンパイルしようとすると、コードのコメントの下にリストされているように、その行のエラーが発生します。

アセンブリ コードの残りの部分を定義しているときに NASM がこのエラーを検出する理由を誰か知っているかどうか疑問に思っていますか?

たぶん、メインの定義方法に何か関係があるのでしょうか?

PS プログラムは非常に長いため、コードの最初の部分だけをリストしました。

お手伝いありがとう

.xlist               ;attempt to define a local label before any non-local labels
include  stdlib.a     ;  parser: instruction expected
includelib stdlib.lib    ; parser: instruction expected
.list
.286

dseg            segment para public 'data' 
;  Unknown section attribute 'public' ignored on declaration of section `para'
h               word    ?
i               word    ?

cseg            segment para public 'code'
                assume  cs:cseg, ds:dseg

Main
4

2 に答える 2

3

NASM では、ドットで始まるラベルはローカル ラベルと呼ばれます。最後のグローバル ラベルに追加されます。たとえば、

L:
.l2: ; it is really L.l2

そのため、グローバル ラベルの前にローカル ラベルを持つことはできません。

于 2016-12-06T12:16:28.253 に答える