Pinned toot

グローバル変数実装してからのほうがいい気がしてきたのでそっちに先に行きます

for文とかwhile文も独自(?)のスコープを持っているので微妙にやりづらい

関数定義実装できてハッピーなので、次に行く前にブロックスコープをやりたいと思っています

参考にさせていただきます、ありがとうございます

は?お boosted

はしおさんの件ですが、
1. rsp をr10 とか別のレジスタに保存
2. push r10
3. rsp を 16 でアラインメント (このときスタックの内容を破壊しないように、スタックを伸ばす方向にアラインメント)
3. 関数を呼び出し
4. 戻ってきたら pop r10
5. rsp を復旧させる
が良いと思います
例としては @takoeight0821 さんの align_rsp と revert_rsp や関数呼び出し部分の実装が見やすいと思います
github.com/takoeight0821/hoc_n

pushやpopの数カウントしてrspがどのくらい変わったか計算すればいいんでしょうか?

gccのコンパイル結果でも見た方が良さそうかな

9ccを参考にしようとして、makeした後にexampleのnqueen.cをコンパイルしようとしたらセグフォしたんですよね

うしとらさんはスタックを使う変数の合計サイズをstack_idxとして、
それを16に切り上げた分をrspから引いてる
と思うんですけど、もとから16の倍数じゃない時とかないの…?ってなってます

は?お boosted

16バイトにアラインメントするやつ?

関数呼び出しの前にrspをアライメントするの、実装読んでもよくわからんになってる

お疲れ様です、見られていないけど…

努力「くらいは」できる人間になりてえ

Show more
わくわく鮟鱇ランド

わくわく鮟鱇ランドは、住民が皆わくわくしているマストドンです。登録は艮鮟鱇の身内に制限されています。