問題タブ [irvine32]

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 に答える
195 参照

assembly - プロシージャは「ret」を実行しますが、実行しません

私は GreatCommonDivisor を書き、 have declare ret down を使用しますがrepeat....until、それでも に入り、repeat ..... untilゼロ除算エラーが発生することがわかりました。

ret呼び出し元の次の行のアドレスをポップすると思いますが、なぜにジャンプするのrepeat...untilですか?

事前にThx。

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

assembly - アセンブリ x86 内のアクセス違反の書き込み場所

こんにちは、アセンブリ x86 について質問があります

これは私のコードです

私はこのコードをデバッグしていますが、終了命令に到達するまで、すべてが適切に機能しているように見えますが、ビジュアルスタジオからこのエラー「アクセス違反の書き込み場所0x000009DF」が表示されました。コードの最後にこのエラーが表示されたことに少し混乱しました。終了コマンドでアクセス違反が発生するのはなぜですか

これは私の入力です

プログラムの最後に、私が欲しいレジスタ al = 1 の値を取得するので、コードに他のエラーがないのに、なぜこのエラーが発生したのかわかりません。少し早いですがお礼を

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

assembly - アスキー インデックスと 10 進数値を含む度数分布表

文字列の頻度の各文字をコンピュータで処理するコードを作成します。配列のインデックスは 0 から 255 で、これは ASCII インデックスであり、値は文字が出現する頻度です。

文字列内の各文字を比較し、毎回配列に 1 追加します。

しかし、カウントが正しくないように見える(大きすぎる)というエラーを見つけることができませんか?

結果はここに画像の説明を入力

しかし、結果のカウントが大きすぎます。

エラーは L1 ループで発生し、ループによって非常に大きな数が発生する理由がわかりません。

私が間違っていることを教えてください。

お読みいただきありがとうございます。

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

assembly - アセンブリ言語で Bin から Dec/Hex に変換できませんでした

2 進値から 10 進値および 16 進値に変換する際に、このコードにエラーがあります。プログラムはユーザーにこのメニューを表示します:

実行したい操作に対応する番号を押してください:

  1. 10 進数を 2 進数と 16 進数に変換したい場合。
  2. 2 進数を 10 進数と 16 進数に変換したい場合。
  3. 16 進数を 10 進数と 2 進数に変換したい場合。
  4. アプリケーションを終了したい場合。

プログラムは、選択肢 2 を除いて実行されます。

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

assembly - Irvine とのアセンブリでの RandomRange

私はx86アセンブリ言語に取り組んでいます。間隔 [0,5] 内の randomrange を使用して、1 つは列で、もう 1 つは行である 2 つのパラメーターを取得したいと考えています。ここでは、乱数を 6 で割り、割り算の余りである DL に残りの数を取得することで間隔を調整しようとしました。

以前にランダム化した数値を保持し、要素が既に 1 の場合はランダム化に戻る配列も実装しました。これは、row*6+col を使用してインデックスをチェックしますが、この配列はまだ有効ではありません。

セグメンテーション違反が発生しました。何が問題なのですか?

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

assembly - アセンブリ randomrange 常に同じ出力

Irvine の手順では、常に同じ出力が得られます。

プログラムが実行されるたびに乱数を取得するより良い方法は何でしょうか?

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

loops - アセンブリ x86 で出力を印刷する

私はこのコードを持っています:

出力を印刷しようとすると、これが得られます

最初の 16 進数を入力してください: ff

2 番目の 16 進数を入力してください: ff

1FEer 最初の 16 進数: 続行するには任意のキーを押します。. .

ご覧のとおり、prompt1 の一部でer first hex numbersum の値が固着していましたが1FE、なぜこのようなことが起こったのでしょうか

プログラム ループ edx レジスタ 3 回 1 回目は値がE、2 回目はF、3 回目は1、次に writeString に到達して出力を出力します。値が突然 にジャンプし00405911ます。なぜこれが起こったのですか?

助けてくれてありがとう