問題タブ [yasm]
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.
assembly - アセンブリで星の三角形を印刷するには?
次の出力を取得する必要があります。
10 行なので、星は 1 から始まり 10 になります。
現在、私は得ています:
私のコード:
私は試してみましたが、必要なものを手に入れることができませんでした。
これらすべてpush
とpop
.
正直、これらはよくわかりません。star
ループを実行するために必要であると言われましたが、たとえば、関数で外側のループを呼び出す必要がある理由がわかりません。
push
との組み合わせが見つかりませんでしpop
た。私は常に多くの星を獲得するか、1 行に 1 つの星を獲得するか、または 1 つだけの星を獲得します。
私は文字通り、どのビットを変更して同じままにしているのか困惑しています。必要な出力を得ることができましたが、増加することはありませんでした。
星 10 個から星 1 個まで出力を得ることができましたが、望んだ結果にはなりませんでした。
私は何を間違っていますか?この質問はどうすればいいですか?
assembly - 最小オペコード サイズ x86-64 strlen 実装
コードゴルフ/バイナリ実行可能ファイルの最小オペコードサイズx86-64 strlen実装を調査していますが、これはある程度のサイズを超えることは想定されていません(簡単にするためにデモシーンを考えてください)。
一般的なアイデアはhereから、サイズ最適化のアイデアはhereおよびhereから得られます。
入力文字列のアドレスは にありますrdi
。最大長は を超えてはいけませんInt32
最終結果はecx
合計11バイトです。
質問はに設定ecx
することです-1
選択肢 1 は既に述べた
オプション 2
オプション 3
オプション 4 、おそらく最も遅いもの
オプション 1 は以前の値に依存していecx
ます
オプション 2 は以前の値に依存しています
オプション 3以前のrax
値に依存しているかどうかわかりませんか?
オプション 4 は最も遅いものですか?ecx
ここに明確な勝者はいますか?
基準は、オペコードのサイズをできるだけ小さく保ち、パフォーマンスに関して最適なものを選択することです。
最新の CPU 命令を使用した実装があることは十分承知していますが、この従来のアプローチは最小のもののようです。
assembly - 行頭にラベルまたは命令が必要です YASM
2D 平面上の 2 点 (A と B) 間の距離を計算するアセンブリ YASM コードを作成しようとしています。
これは、コードを作成するために使用しているコマンドです。
distance.asm:2: エラー: 行頭にラベルまたは命令が必要です distance.asm:4: エラー: 行頭にラベルまたは命令が必要です
私はアセンブリが初めてで、エラーを修正する方法を理解できません:
私の質問は、上記のエラーが表示されるのはなぜですか? (stackoverflow で同様の質問を読みましたが、コードの何が問題なのかまだわかりませんでした)