問題タブ [mmix]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
177 参照

git - CVS/Git の MMIX リポジトリを取得する

MMIX の CVS リポジトリを CVS/Git に取得するにはどうすればよいですか?

で github のレポをクローンする方法は知っていますがgit clone URL、sourceforge を実際に使用したことはありません。彼らは私には新しいCVSを使用しています。

私の失敗した試み

最初に CVS でレポをダウンロードしようとすると、CVS -irc で次のヒントが得られます

しかし、期待どおりに機能していません。

0 投票する
2 に答える
2687 参照

assembly - MIXまたはMMIX - 何が最高ですか

こんにちは、最初の質問です。「The Art of Computer Programming」を読み始めました。私はそれが難しいことを知っています。まず、本の言語を学ぶことにしました。まず MIX から始めます。いくつかの演習を行いましたが、本のプログラムで管理できると思います。しかし、問題は私が書いたどこにでもあり、MIXは古い、MMIXを学ぶなどです。OKS、しかしなぜ - これは私の質問ですか? 私は 1 か月 MIX を学習していますが、本の問題を理解し始めましたが、作業を停止して新しい ASM の学習を再開しました。なぜですか? MIX は古いですが、本に書かれているコードはすべて MIX です。時間をかけて MMIX を学習すると、問題をもう一度書き直さなければならず、非常に困難になると思います。MIX は古いので、本当に新しいバージョンを学ばなければなりませんか? TAOCP の経験が豊富な人からアドバイスをもらえますか: MIX の例、問題などの本を読み続けるか、MMIX を学ぶのをやめてください。と、

0 投票する
2 に答える
366 参照

taocp - レジスターに含まれる数値の印刷

私はMMIXを学んでいるので、それ自体に1を追加して結果を出力する簡単なプログラムを作成してみました。残念ながら、何も印刷されません。これが私のプログラムです:

私は何を間違っていますか?

0 投票する
2 に答える
577 参照

assembly - MMIX用アセンブラファイルを複数リンクする方法

「fprint」のようなものを実装する小さなライブラリを書いたとします。私に MMIX を教えてくれる本 (Das MMIX-Buch、ドイツ語) は常に lib 全体を新しいプログラムにコピーしますが、私はこのアプローチが嫌いです。ライブラリを 1 つのオブジェクト ファイルにアセンブルし、メイン プログラムを別のオブジェクト ファイルにアセンブルして、これら 2 つをリンクする方法はありますか? これを行う方法?

0 投票する
2 に答える
535 参照

c - mmix 上の gcc での Printf の問題

http://www.bitrange.com/mmix/install.htmlに従って、mmix 用の gcc 4.6.0 をコンパイルしました。単純な hello world や、最初の文字列以外の printf の呼び出しを試した後、最初の文字列だけが出力されます。例えば

生成されたアセンブリは次のようになります。

0 投票する
1 に答える
143 参照

trie - mmoオブジェクト形式のシンボルテーブルで使用される試行はどのように機能しますか?

mmoDonKnuthの教育MMIXアーキテクチャで使用されているオブジェクトファイル形式がどのように機能するかを理解しようとしています。私はMMIXwareを購入していないので、アセンブラーとシミュレーターの読み書きのできるソースファイルから詳細のほとんどを推測する必要があります。

オブジェクト形式は、シンボルテーブルを格納するために特別な三分探索木を使用します。コードを見ると、それがどのように機能するのかよくわかりません。誰かが私にいくつかの詳細を説明してもらえますか?特にツリーがどのようにシリアル化されるかについて。

0 投票する
0 に答える
190 参照

exception - MMIX: 動的トラップに関する質問

MMIXの割り込みについていくつか質問があります。特殊レジスタrKの定義は「割り込みマスクレジスタ」です。しかし、異なるイベントを異なる方法で扱うようです。

  • I/O ビットの場合 (** ビットを呼び出しましょう: これは通常のケースです。外部割り込みが発生した場合、rK の ** ビットが 0 の場合、rK の ** ビットが 1 に設定されるまで、rQ の ** ビットは「1」を保持します。となり、トラップが発生します。

  • for S-bit (プログラム): のソース コードによるとmmix-pipe、rK の S-bit が 0 の場合でも、セキュリティ例外が発生します。rK の S ビットは 0 から 1 に変更されます。したがって、正のアドレスでは rK の S ビットは 1 である必要があり、負のアドレスでは rK の S ビットは何の効果もありません。システムに「セキュリティ上の問題があった」ことを伝えるために rQ の S ビットのみが使用されます。rK の S ビットは役に立たないようです。

  • Pビット(プログラム)の場合:「命令が特権(負の)仮想アドレスから来る」のは悲しいことです。mmix-doc.pdf にあります。しかし、PC が負のアドレスにある場合、rQ の P ビットが常に 1 に設定されるとは限りません (mmix-pipe も rQ の P ビットを設定しません)。
    私はそれを証明することができます:「再開」insn の前に実行されたすべての命令が rQ の P ビットを 1 に設定する場合、再開は rQ の P ビットも 1 に設定します。 insn は常に TRAP をトリガーします。それは不可能です。そのため、P 例外が禁止されている場合、rQ の P ビットは 1 に設定されません。
    したがって、rK の P ビットはマスクとして使用されるだけでなく、「例外チェックをバイパスするオプション」として使用されます。


ここにいくつかの質問があります。

  • rK のすべてのビットを割り込みのマスクとして作成しないのはなぜですか? S/P ビットをそれほど奇妙にする理由はありますか?

  • rK の対応するビットが 0 の場合、他の rQ のプログラム ビット (rwxnkb) を 1 に設定しますか?

  • Neg-address のように、トリップは発生しませんが、DVWIOUZX ビットは発生した直後に 1 を保持しますか?

0 投票する
1 に答える
314 参照

assembly - mmix インタラクティブ モード中にレジスタの内容を検査する

対話モードで mmix を使用して、レジスターの内容を確認したいときにいつでも表示する方法を知りたいです。たとえば、単純な mmix プログラムがあります。

そして、mmix -i myprog.mmo を実行して出力を取得できます。

これはすべて良いことです。しかし、これをインタラクティブに実行している途中でレジスタの内容を調べたい場合はどうすればよいでしょうか? また、内容を10進数ではなく16進数で見るのはどうでしょうか。

0 投票する
1 に答える
171 参照

mmix - Mmix NEG および NEGU オペコード

NEG および NEGU の定義によると、

$Z = s(-1)またはとしましょうu(2^64 - 1)。次に、最初のオペコードは、 の$Xときに値 1 をレジスタに入れます。Y = 0最近のオペコードは、u(-(2^64 - 1)) mod 2^64 = 1. 私は正しいですか?NEG次の場合、命令はオーバーフロー例外を発生させる必要があり$Z = -2^63ますか?