悠里アセンブリQ&A by Ritchan先生 part2

0
AIOS CIAO @aios_ciao

fen   (1) nll foo  (A) l' hoge  (B) fen   (2) (A)は(2)に対してのラベル定義、 (B)は(1)に対してのラベル定義、 ということでいいのかな?

2017-09-23 20:21:30
【ゲムマ両サ-19】hsjoihs (はすじょい) @ 言語が好き @sosoBOTpi

@aios_ciao 現状の仕様では、そもそもnllの直後にl'が来ることを禁じています。

2017-09-23 20:34:57
AIOS CIAO @aios_ciao

@sosoBOTpi 禁じ手の記載が見つけられなかったのです

2017-09-23 20:44:12
AIOS CIAO @aios_ciao

これ今のところ外部変数とか定数データ(イミディエイトでない)というデータ定義はできないのかも

2017-09-23 20:50:00
AIOS CIAO @aios_ciao

外部変数というより大域変数、ヒープ的なもの。

2017-09-23 20:51:12
【ゲムマ両サ-19】hsjoihs (はすじょい) @ 言語が好き @sosoBOTpi

@aios_ciao ヒープ領域は「0xa0000000 - 0xaffffffcは使ってないから使っていいよ」という方法で現状対処していますが、よろしくないのでこれから機能を増やしてmalloc的なことしたいと思っています

2017-09-23 20:57:01
AIOS CIAO @aios_ciao

@sosoBOTpi 通常、アセンブラからは全アドレス範囲の任意の場所に対して(プログラマが管理すること前提で)制限なしに直接アクセス可能(予約領域へのアクセスは保証されない)ですが、mallocで切り売りされるヒープはOSが管理する領域ですし、ライブラリ化するのがいいと思います。

2017-09-23 21:02:51
AIOS CIAO @aios_ciao

メモリ管理の設計か。OSの設計らしくなってきたぞー(焚き付け)

2017-09-23 21:04:53
【ゲムマ両サ-19】hsjoihs (はすじょい) @ 言語が好き @sosoBOTpi

30日OS本でもちゃんとメモリ管理機構を実装しているので、流石に作らないとなぁという twitter.com/aios_ciao/stat…

2017-09-23 21:06:09
AIOS CIAO @aios_ciao

@sosoBOTpi ちょうどそこ見てましたが、インタプリタの命令かニーモニックとして実装しようとしているように見えてしまって。

2017-09-23 21:11:07
【ゲムマ両サ-19】hsjoihs (はすじょい) @ 言語が好き @sosoBOTpi

@aios_ciao 確かに、話が飛んでますね(ライブラリの着想をシステムコールの着想の後に書いており、かつ眠かったので)

2017-09-23 21:12:29
AIOS CIAO @aios_ciao

通常はシステムコール、ソフトウェア割り込みで通知するヤツでは

2017-09-23 21:12:31
AIOS CIAO @aios_ciao

いや、メモリ配置に関してはアセンブラの疑似命令や拡張命令で通常は実現される。

2017-09-23 21:14:29
【ゲムマ両サ-19】hsjoihs (はすじょい) @ 言語が好き @sosoBOTpi

権限管理の側面からはそうなるわけですが、例外機構を組んでいない現状での一時しのぎです twitter.com/aios_ciao/stat…

2017-09-23 21:15:20
AIOS CIAO @aios_ciao

@sosoBOTpi 入出力レベルはBIOSがからむのでシステムコールの方が適切ですが、メモリ管理はソフト的に実装の方が妥当だと思います。実行バイナリ的な意味で、プログラムや定数データの配置構造は別途欲しいところ (メモリページ管理やらアドレス変換はエミュレーションとかめんどいのでまるっと先送りで)

2017-09-23 21:21:25
【ゲムマ両サ-19】hsjoihs (はすじょい) @ 言語が好き @sosoBOTpi

@aios_ciao まあ命令のバイナリが決まっていないので、それも含め考えていきます

2017-09-23 21:22:24
AIOS CIAO @aios_ciao

label:  .word 0x1234 的な感じで、定義したデータ自体はメモリのどこかに勝手に置かれて、プログラムからはラベルで基点アドレスだけ参照できる記述が可能だといいな、というだけの話

2017-09-23 21:24:35
AIOS CIAO @aios_ciao

ライブラリとしてリンクさせるならば再配置可能にしないといけないのでは? 固定ルーチンなので固定アドレスに置きまーすとか、インタプリタだったらゆるされる。たぶん

2017-09-23 21:42:17
AIOS CIAO @aios_ciao

まとめのとこに書いてあるスタック操作はCで書くとこうね。 *++f5 = iska; iska = *f5--; あれ?逆じゃん。 *--f5 = iska; iska = *f5++; じゃない?

2017-09-23 22:00:15
AIOS CIAO @aios_ciao

いや、ntaだから減算。あってる。

2017-09-23 22:01:26
渡久地 信之 @palfem_kleet

TKC,バイナリインタプリタの実装と言ってることが矛盾しまくってる件について. ちょっと頭おかしい状態らしい.

2017-09-23 22:03:02
AIOS CIAO @aios_ciao

TKCってなんだろう。たかし?

2017-09-23 22:05:43
AIOS CIAO @aios_ciao

や、たけしだな。音的に

2017-09-23 22:06:12