0

WHILE asm ディレクティブを使用する場合は、次のように初期化します。

    GBLA    w
    WHILE   w < 10
w   SETA    w+1
    ; code
    WEND

;codeラベルを含む繰り返しセグメントになるにはどうすればよいでしょうか(たとえば、セグメント内で条件付きでラベルに分岐します)。

私はやってみました:

w.label    ;code
           ;code
           B{cond}    w.label

そしてまたlabel.w

また、パラメーターとして渡されたマクロを作成しようとしましたが、そのように数値wに結合したくありませんでした。label

.文字列に対してのみ機能します。そうであれば、文字列とリテラルを他の方法で連結できますか?

または、セグメントにラベルを含めて何w度も繰り返すには、他にどのような方法がありますか?

4

1 に答える 1

1

これが、ローカル ラベルが存在する理由の 1 つです。

1:    ;code
      ;code
      B{cond}    1b    @ look (b)ackwards for the nearest "1:"

これらは常に最後/次の一致に解決され、シンボルを生成しないため、好きなだけ明確に複製できます。

于 2014-01-22T00:53:50.613 に答える