問題タブ [dosbox]
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.
batch-file - DOSBox 自動実行メニューの設計
父へのプレゼントとして(ちょっと)おしゃれなDOSメニューを作ろうと思っています。
メニューシステム全体を機能させることができましたが、いくつかのボックス描画文字と、場合によっては色付きのテキストでそれをやりたいと思っていました。
このYouTube ビデオでは、ユーザーは私がやろうとしていることの例を示しています (5:00 マークの例) が、それらの文字がどのようにレンダリングされているかについては説明していません。メモ帳のドキュメントでは、間抜けな文字で表示されます。
特別なタイプのエンコーディングでファイルを保存する必要がありますか? メモ帳でのみ実行できますか (Mac で TextEdit を使用しています)。誰かが DOSBox の [autoexec] 設定に追加できるサンプル メニューを提供できますか?
また、可能かどうかわかりませんが、文字色・背景色を変更するにはどうすればよいですか?DOSBox を最初に実行すると、ウェルカム スクリーンに青い背景とボックスの描画文字が表示されるので、そのすべてが可能だと思います。
エスケープされた Unicode 文字を使用してみましたが、(リンクされたビデオに示されているように) 大文字の E を使用してみましたが、DOSBox で実行するとファンキーなものをレンダリングするだけです。
assembly - アセンブリで 073F:015A とはどういう意味ですか?
学ぶのが楽しいものだと思ったので、アセンブリを学ぼうとしています。私は非常に基本的なことを学んでいますが、何かが何を意味するのか混乱しています。Windows 8 64 ビットでは利用できない debug.exe を使用するために DOSBox を使用しています。073F:015A
どういう意味なのか気になります。私はそれの前にこれを持っています:
これが起こったときに自分がどこにいるのかわからないのですが、十分に遠くまでジャンプできなかったということですか? (私は知っていましたが、私がどこにいるのか知りたいので、それはまだ私を悩ませています。)
assembly - アセンブリ言語で変数の値を取得する
おそらくばかげた質問ですが、これは私の Machine Organization クラスでの最初のプロジェクトであり、問題が発生しています。以下のコードは、画面の中央に上から下に「*」を表示するためのものです。アセンブルしないコード行は次のとおりです。
MOV ES: [ numLoops * 80 * 2 + (40 * 2) ], BYTE PTR '*'
numLoops
これがアセンブルされない理由は理解していますが、コード行が実行されるたびnumLoops
にデクリメントされるように行を上に移動するように、その値を取得するために何を配置すればよいかわかりません。どんなアドバイスでも大歓迎です、ありがとう。
assembly - 「画面反転」簡単組み立てプログラム
それで、私は機械編成クラスで最初のプロジェクトに取り組んでいます。プログラムが実行されると、画面が垂直方向に反転するはずです。たとえば、左側のすべての文字と数字は右側に反転され、その逆も同様です。これを実現するには、loop25
各行を 25 回ループし、ループごとに 1 行上に移動します。各ループはflipRow
PROC も呼び出します。この手順は、外側の 2 つの文字を取得して交換し、移動して、中央に到達するまで繰り返すことになっています。基本的には組み立てません。問題がloopRow
LOOP に関係していることはわかっていますが、修正方法を知るにはまだ十分な経験がありません。
assembly - アセンブリ言語「CMP」
機械編成クラスの最初のプロジェクトに取り組んでいます。プログラムは画面を左から右に反転します。これは正常に機能し、これで問題はありません。ただし、画面を反転するだけでなく、私の教授は、すべての大文字の C を灰色の上に赤で表示するように依頼しました。loopRow
LOOP内でこれを実行しようとしました。組み立てる時はエラーはないのですが、動きません。ASCIIコード値との比較も試みましたが、これもうまくいきませんでした。助言がありますか?
assembly - ユーザー入力用のNASM出力プロンプト
関連するが、現在の状況には役立たない: nasm dos interrupt (output string)
(これは重複していないことを明確にしたかっただけです)
私がやろうとしているのは、ユーザーに「Enter a Base 10 number:」というプロンプトを作成することです。その後、その数値を 2 進数、8 進数、16 進数に変換します。しかし、私は問題に出くわしています。それは非常に単純だと確信していますが、何が問題なのかを理解するにはあまりにも長い間このコードを見つめてきました。
「Enter a Base Ten Number:」が出力され、約 3 回点滅して、DOSbox エミュレータが自動的にシャットダウンされます。何か案は?
コードは次のとおりです。
assembly - DOSBox のトラブル: [ MOV SI, (160 * height)]?
次のコードでは、問題のある行にアスタリスクを付けてコメントしています。ご覧のとおり、SI には (160 * 8) が含まれています。これは正しい値ですが、(160 * 8) ではなく (160 * 高さ) になるように変更する必要があります。高さは、データ セグメントで DB として宣言されます。(160 * 高さ) とは言えませんが、誰かこの問題を解決するのを手伝ってくれませんか? 正しい値をSIに保存するだけです。ありがとうございました