NASMアセンブリのセクションについてご教示ください。
NASMアセンブリのセクションについてご教示ください。
いつもお世話になっております。
前回も大変勉強になるご教示頂き誠に、感謝申し上げます。
小生、只今WinXPSP3上でNASM0.99.06を使用し、アセンブリ言語を勉強しています。
今回質問させて頂きたいのはNASMによる、セクションです。
NASMでは.text, .bss, .dataセクションがありますが、
例えば下記のアセンブリソースの、
一番最初に記述する[org 0]なども広義の意味でのセクションに該当するのでしょうか?
ソースは以下の様になっております。
-----source.asm-----
[org 0]
[bits 16]
jmp 0x07C0:start
start:
mov ax, cs
mov ds, ax
mov ax, 0xB800
mov es, ax
mov di, 0
mov ax, word [msgBack]
mov cx, 0x7FF
paint:
mov word [es:di], ax
add di, 2
dec cx
jnz paint
mov edi, 0
mov byte [es:edi], 'A'
inc edi
mov byte [es:edi], 0x06
inc edi
mov byte [es:edi], 'B'
inc edi
mov byte [es:edi], 0x06
inc edi
mov byte [es:edi], 'C'
inc edi
mov byte [es:edi], 0x06
inc edi
mov byte [es:edi], '1'
inc edi
mov byte [es:edi], 0x06
inc edi
mov byte [es:edi], '2'
inc edi
mov byte [es:edi], 0x06
inc edi
mov byte [es:edi], '3'
inc edi
mov byte [es:edi], 0x06
jmp $
msgBack db '.', 0xE7
times 510-($-$$) db 0
dw 0xAA55
--------------------------
以上です。
最後から2行目の箇所に$$の特殊シンボルが使われており、
私としてはセクション(.textセクション等)が記述されていないのに、
$$はどこのセクションを示しているのかが分かりません。
そこで、書籍などで調べてみたところ、セクションとはそのコードがどこに置かれるかを決めるもので、
上記に記述させて頂いたコードだと、[org 0]がある為、
このコードは0000 0000に配置される事になり、
$$は0000 0000を指し示すものだと思っています。
この解釈で間違っていないでしょうか?
お忙しい中、大変申し訳ございませんが、先輩方ご教示宜しくお願い致します。