UTC+09:00 ----- Today September 30th, 2017 ----- jekto_vatimeliju [1:16 AM] https://twitter.com/sosoBOTpi/status/913799572207443969 .sozysozbot.@hsjoihs @sosoBOTpi 悠里アセンブリのインタプリタにデバッグ出力関数を実装しました。 http://jurliyuuri.com/OS/assembler/interpreter_settings.html TwitterToday at 1:16 AM sashimiwiki [1:17 AM] 組込みされてるんだ、エモい jekto_vatimeliju [1:17 AM] 今の所は組み込み [1:18] リンカができれば、関数の実体を入れ替えるだけで一般ソフトウェア用のコードとしても転用できる [1:19] アプリケーションから見たOSも、アセンブリ言語から見たインタプリタもそう変わらんので Nobuyuki Tokuchi [1:44 AM] ところで,これは出力改行される? jekto_vatimeliju [1:45 AM] んー、あくまでインタプリタ側のものなので、そういう決め方をしていない(具体的にいうと、リストモノイドでWriterTモナド変換子を使っているだけなので)(伝わらない) [1:46] やってみると分かるように、実行の終わったタイミングでLogs: ["4321","9512","1326","9512","1326","9512","1326","9512","1326","9512","1326","9512","1326","9512","1326","9512","1326","9512","1326","9512","1326","9512","1326","9512","1326"]と吐かれる [1:46] ステップ実行の場合はその都度出力 (edited) Nobuyuki Tokuchi [1:46 AM] ちょっと予想と違うのでインタプリタ側色々いじります. (edited) jekto_vatimeliju [1:47 AM] 「引数として受け取った値を、環境に依存する形式で出力する」(投げやり) (edited) [1:47] ぐらいでいいです Nobuyuki Tokuchi [1:48 AM] これ,「インタプリタが実行終了してから出力する」? jekto_vatimeliju [1:48 AM] ステップ実行なら逐次出るし、「実行終了してから」は真似していただかなくても構わない [1:49] どちらかというと、インタプリタは「実行終了後にハードウェア情報を吐く」のだが、 [1:49] そのハードウェアの中に「出力の溜まったバッファ」がある、という認識で [1:50] 直に画面に吐いているのではなく、バッファというハードウェアに吐いているということ Nobuyuki Tokuchi [1:50 AM] ubplはそこの互換性切るかねー.(sh2003fはがんばる(がんばる)) jekto_vatimeliju [1:50 AM] 普通に切って良いのでは [1:51] というかあくまでインタプリタの隠し仕様だし [1:51] ただの外部関数なので [1:51] まあ、要するに、本来はリンカを用いてやるはずのことを(リンカが未実装なので)インタプリタ側で補っているというだけであって、本来はただのライブラリ関数なので別環境なら無くても当然 (edited) Nobuyuki Tokuchi [1:51 AM] というか,これ,本家は呼び出し以降の値を表示してる? (edited) jekto_vatimeliju [1:51 AM] (割り込み処理開始)というと? Nobuyuki Tokuchi [1:52 AM] 「バッファに出力する」が呼び出し以降になっているのかなと. jekto_vatimeliju [1:54 AM] 3126834864という関数を呼び出すと、引数をバッファに吐いて、returnする。 [1:54] ステップ実行は各ステップでハードウェア情報を吐くので、バッファ出力が実行された時点で現世のパソコンの画面にデータが出る。 Nobuyuki Tokuchi [1:55 AM] なるほど,「引数の値をバッファに吐く」関数なのね. (edited) jekto_vatimeliju [1:56 AM] そゆこと。しかも本来はライブラリ関数なので、環境によって未実装であっても全く問題ない Nobuyuki Tokuchi [1:58 AM] ところで,これ,二回以上使うとバグる? jekto_vatimeliju [1:58 AM] いいえ。バッファはちゃんと蓄えてくれるはず Nobuyuki Tokuchi [1:59 AM] すみません,ata 8 f5が抜けてただけでした. jekto_vatimeliju [1:59 AM] よくある Nobuyuki Tokuchi [2:01 AM] 「引数の値をバッファに吐く」なら実装出来るわ (edited) Nobuyuki Tokuchi [4:35 AM] とりあえず,ubplの方は対応した.sh2003fが対応したらbf2jもコミットする. jekto_vatimeliju [4:39 AM] 了解です