sashimiwiki [2:10 AM] いぇっさ jekto [2:10 AM] さて、実はこのアセンブリ言語面白い特性があって、 [2:11] 「改行抜いても一意に構文解析できる」 [2:11] オペランド数が固定だからこそできることである sashimiwiki [2:12 AM] 面白い jekto [2:12 AM] これは主に「名前空間衝突」の回避を目的としています [2:13] krzという名前の関数を作ってもアセンブラがバグらない sashimiwiki [2:13 AM] そうなんだ? jekto [2:14 AM] ラベルの定義はl'で行われるので、l' krzと出てきたら移動命令ではなくkrzというラベルであることが確定する [2:14] ただまあレジスタ名とラベル名は衝突するという欠点がある sashimiwiki [2:15 AM] なるほどな jekto [2:16 AM] 将来的に命令が増えても互換性は保たれるが、レジスタが増えるとそうはいかなくなる sashimiwiki [2:17 AM] レジスタが増えるとせいぜい上位互換って感じで古いアセンブリは誤動作する可能性があるわけか jekto [2:18 AM] 増えたレジスタ名を過去のコードでたまたまラベルとして使っていた場合、バグる [2:19] x86 GAS構文の場合はレジスタ名の頭に%をつけることでこの問題を解決しているが、レジスタ名などという頻出するもののタイプ数を増やしたくない sashimiwiki [2:20 AM] ふむ [2:21] 現在のレジスタ名表記はfNだっけ jekto [2:21 AM] xxもある [2:21] xeumon xelal