悠里アセンブリQ&A by Ritchan先生 part2
fen (1) nll foo (A) l' hoge (B) fen (2) (A)は(2)に対してのラベル定義、 (B)は(1)に対してのラベル定義、 ということでいいのかな?
2017-09-23 20:21:30@aios_ciao 現状の仕様では、そもそもnllの直後にl'が来ることを禁じています。
2017-09-23 20:34:57@aios_ciao ヒープ領域は「0xa0000000 - 0xaffffffcは使ってないから使っていいよ」という方法で現状対処していますが、よろしくないのでこれから機能を増やしてmalloc的なことしたいと思っています
2017-09-23 20:57:01@sosoBOTpi 通常、アセンブラからは全アドレス範囲の任意の場所に対して(プログラマが管理すること前提で)制限なしに直接アクセス可能(予約領域へのアクセスは保証されない)ですが、mallocで切り売りされるヒープはOSが管理する領域ですし、ライブラリ化するのがいいと思います。
2017-09-23 21:02:51@aios_ciao そういう感じで考えています。jurliyuuri.com/OS/opcode.html の27.に書きました
2017-09-23 21:05:2330日OS本でもちゃんとメモリ管理機構を実装しているので、流石に作らないとなぁという twitter.com/aios_ciao/stat…
2017-09-23 21:06:09@sosoBOTpi ちょうどそこ見てましたが、インタプリタの命令かニーモニックとして実装しようとしているように見えてしまって。
2017-09-23 21:11:07@aios_ciao 確かに、話が飛んでますね(ライブラリの着想をシステムコールの着想の後に書いており、かつ眠かったので)
2017-09-23 21:12:29権限管理の側面からはそうなるわけですが、例外機構を組んでいない現状での一時しのぎです twitter.com/aios_ciao/stat…
2017-09-23 21:15:20@sosoBOTpi 入出力レベルはBIOSがからむのでシステムコールの方が適切ですが、メモリ管理はソフト的に実装の方が妥当だと思います。実行バイナリ的な意味で、プログラムや定数データの配置構造は別途欲しいところ (メモリページ管理やらアドレス変換はエミュレーションとかめんどいのでまるっと先送りで)
2017-09-23 21:21:25@aios_ciao まあ命令のバイナリが決まっていないので、それも含め考えていきます
2017-09-23 21:22:24label: .word 0x1234 的な感じで、定義したデータ自体はメモリのどこかに勝手に置かれて、プログラムからはラベルで基点アドレスだけ参照できる記述が可能だといいな、というだけの話
2017-09-23 21:24:35ライブラリとしてリンクさせるならば再配置可能にしないといけないのでは? 固定ルーチンなので固定アドレスに置きまーすとか、インタプリタだったらゆるされる。たぶん
2017-09-23 21:42:17まとめのとこに書いてあるスタック操作はCで書くとこうね。 *++f5 = iska; iska = *f5--; あれ?逆じゃん。 *--f5 = iska; iska = *f5++; じゃない?
2017-09-23 22:00:15