DB 20, 22
理由がわからないまま、しばらくの間、文字列を定義してきました。
最初のバイトはバッファ サイズで、2 番目のバイトは文字列に使用されるバイト数を保持することを読みましたが、両方の値が必須かどうかはわかりません。たとえば、文字列を定義してレジスタをポイントしたい場合、+2 を使用してこれらの 2 文字をスキップする必要があります。
string DB 20, 22 dup('?')
lea si, string+2
lea si, [string] ; I think this is another alternative
それは、それらなしで文字列を定義した場合、私はただできるかどうか疑問に思いますlea si, string
。これは可能ですか、それとも両方の項目が必須ですか? また、行をスキップしてカーソルを先頭に移動したい場合DB 13, 10
、コンパイラは 13 がバッファ サイズではなく、10 が文字数であることをどのように認識しますか? 私はおそらくナンセンスを言っていますが、これらの問題に関する明確化に感謝します