問題タブ [16-bit]
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.
audio - 切り捨てによるサンプルビット深度の削減
デジタルオーディオ信号のビット深度を24ビットから16ビットに減らす必要があります。
各サンプルの最上位16ビットのみを取得する(つまり、切り捨てる)ことは、比例計算を実行することと同じです(out = in * 0xFFFF / 0xFFFFFF)?
java - 16ビットのBufferedImageTYPE_USHORT_GRAYに書き込みます
BufferedImage.TYPE_USHORT_GRAYを使用して16ビットのグレースケール画像データをpngに書き込もうとしています。通常、私は次のように画像に書き込みます。
それから:
ピクセルを設定し、最後に:
png画像に書き込む。
しかし今、私はこれを画像として持っています:
ピクセルをそのフォーマットに保存するにはどうすればよいですか?16ビット整数でsetRGB()を使用すると、機能しないようです。保存したpngファイルを開くと、多くのバンディングが発生していることがわかります。
0から65535までの単純なグラデーションを保存してから、グレースケール画像でsetRGB()を使用して、Photoshopで結果を確認しました。画像は256行ごとの小さなグラデーションで構成されていることがわかります。setRGB()またはimageIOのいずれかが希望どおりに機能しないと思います。
これに対する回避策はありますか?imageIOはBufferedImage.TYPE_USHORT_GRAY形式もサポートしていますか?それとも、8ビットデータしか保存できませんか?そして、16ビットデータを保存できる場合、できればsetRGB()が機能するように(特定のx、y座標に対して)ピクセルデータを保存するにはどうすればよいですか?
windows-xp - 16ビットプロセスを確実に検出
15 年以上前のアプリケーションを実行する必要があるため、ウォッチドッグ プログラムを作成して、16 ビット アプリケーションが 32 ビット バージョンの Windows XP Pro で実行されていることを確認し、必要に応じて起動したいと考えています。通常、アプリケーションのウィンドウを探すには EnumWindows() を使用します。残念ながら、これは 16 ビット アプリでは機能しないか、少なくとも確実ではありません。
問題のアプリケーションのコードをまったく制御できない場合、それが実行されているかどうかを確実に検出するにはどうすればよいでしょうか? これを C でコーディングしています (C++ や C# ではありません)。
assembly - x86アセンブリで整数をコンソールに出力
16 ビット アセンブリで 2 つの値を追加するとき、結果をコンソールに出力する最良の方法は何ですか?
現時点では、次のコードがあります。
dl の値は ASCII コードにすべきだと思いますが、加算後の ax の値を ASCII に変換する方法がわかりません。
c - 16 ビット DOS での XMS 割り当て
ネクロマンシーの試みをお許しください。ただし、実際には 16 ビット DOS 用のコードを書く必要があります (!)。ソフトウェアの一部が 16 ビット プラットフォーム用にビルドされたときに正しく実行されることを確認する必要があり、XP ワークステーションが実際に 16 ビット DOS アプリを実行できることを発見しました。これにより、既存のバッチ テスト システムを使用できるようになります。
いずれの場合も、ソフトウェアは 1 つのライブラリと 1 つのデータベースで構成されます。小規模なデータベース (最大 150kB) は、静的グローバル配列として定義するか、または で割り当てられたバッファーにファイルから読み取ることができるhalloc()
ため、ライブラリとテスト ツールが正しく構築されていることはかなり確信しています。
ただし、最大 1.8Mb までのより大きなデータベースをテストすることもできます。これは大きすぎて正常に割り当てることができないため、XMS メモリを割り当てるための小さなサポート ライブラリを作成しました。これにより、小さなおもちゃのプログラムで最大 16Mb のデータを正常に割り当て、使用 (つまり、データの書き込みと読み取り)、および解放することができます。ただし、「実際の」アプリケーションで XMS 機能を使用すると、次のエラーが発生します。
このエラーをグーグルで調べても、関連する結果はほとんど得られませんでした。このタイプのエラーは通常、さまざまなマルウェアのせいにされているようです。
コードベースは厳密な C90 であり、DOS ビルドに現在使用されているコンパイラは、「ラージ」メモリ モデルを使用する OpenWatcom 1.9 です。ビルド中に警告やエラーは発生しません。
XMS サポート ライブラリは次のとおりです。xmsmalloc() の呼び出し後にエラーが発生するようです。
いくつかの具体的な質問:
- エラー メッセージに関する詳細情報はどこで入手できますか (OP はオペコードを意味すると思いますが、他のフィールドはどうでしょうか?)
- 私が見つけた XMS API リファレンスは、Windows XP で実行している場合でも適用できますか?それとも、参照すべき新しいバージョンはありますか?
- インライン アセンブラでシステム状態を台無しにすることはできますか? どうすれば解決できますか?
- これを解決する方法について何か良いアイデアはありますか? :-) DOS エクステンダには 32 ビット モードが必要なようですが、この演習の要点は 16 ビット モードを使用することです。
linux - Linux での 16 ビット リンク
コマンド「nasm -f elf -l hello.lst hello.asm」を使用するとLinuxでNASMアセンブラーを使用していますが、gcc「gcc -o hello hello.o」とリンクするとエラーが発生します。
hello.asm:(.text+0x4): 収まるように切り捨てられた再配置: `.data' collect2 に対する R_386_16: ld は 1 つの終了ステータスを返しました
これはgccと16ビットの問題であることがわかりました
解決策はありますか?
assembly - x86 アセンブリで整数を ASCII コードに変換する際の問題
以下のコードを使用して、整数ax
を ASCII コードに変換しようとしています。しかし、実行すると、予想した 513 ではなく、515 が出力されます。エラーはどこにありますか?
windows - Windows 7 64 ビットで 16 ビット コマンド ライン アプリケーションを実行する
Windows 7 x64 で実行したい 16 ビット コマンド ライン ツールがあります。
仮想マシンを使用したくない
16 ビット ツールを何らかの方法でラップできますか?
おそらく16ビットのCMD.exeエミュレーター
windows - Windows16ビットAPIでディレクトリを変更する
MASM 6.0(Assembly API Windows 16ビット)で記述します。コードのdirを変更したいと思います。DOS3Call関数を使用しています(int 21hより高速)
この関数を使用すると、dirを変更できますが、割り込みを使用せずにそれを実行できるAPIがあるかどうかを知りたいです。
16ビットのAPIが必要ですが、32ビットでそれを行う方法を知っています。
誰か助けてもらえますか?
英語で申し訳ありませんが、私はアメリカ人ではありません...
external - Flags:externalを使用して[ファイル]のCD-ROMからファイルをコピーするにはどうすればよいですか?
16ビットインストーラーを備えた古いCD-ROMゲーム用の新しいインストーラーを作成しています。インストーラーはハードディスク上にあり、元のディスクからファイルをコピーできる必要があります。すべてのゲームファイルがインストーラーにパックされている場合にゲームをインストールできるスクリプトを既に設定しています。これは個人的な使用には問題ありませんが、他の人が使用できるようにインストーラーを再配布できるようにしたいと思います。
次のスクリプトのように、CD-ROMソースドライブ用に別の選択ボックスが必要です:http ://www.vincenzo.net/isxkb/index.php?title = Ask_for_a_drive_to_installしかし、宛先ではなく、ソースになり、宛先ディレクトリを選択することもできます。必要なすべてのファイルは現在[ファイル]セクションにリストされています。それらをFlags:externalとして設定したいのですが、innosetupのsetup.exeフォルダーではなくCD-ROMからコピーする方法がわかりません。