We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
これはデータの境界調整(バウンダリー合わせ)のために使われる
2.アラインメントは何か?
ALIGNB
ALIGNB ? は、 ALIGN ?, RESB 1 の省略形
ALIGN疑似命令には数値Xが続く。このXは2の倍数でなければならない。例えば、2,4,8,16など。 この疑似命令は後に続く命令や即値の並びを強制することができる、そのメモリーアドレスはXの倍数となる。 前にある命令/データとALIGN疑似命令の間の空間はNULL命令(もしくはそれと互換のものMOV, EAX, EAXなど)で埋められる。 NULLはデータのアラインメントの区切りの中に入る。 XはALIGN疑似命令が参照されるデフォルトのアラインメント空間以上には大きくできない。 それはデフォルトのアラインメント空間以下の大きさでなければならない
ALIGN
NOP
RESB 1
RESB
0x00
align 4 ; 4byteまで埋める align 16 ; 16byteまで埋める align 8,db 0 ; NOPじゃなくて0x00で埋める align 4,resb 1 ; BSSの中身を4バイトまで埋める alignb 4 ; 上の行と同様