inline-assembly

    0

    1答えて

    私は私のブートローダは、純粋なアセンブリで書かれている間はgcc GNUアセンブリ内の16ビットカーネルを構築しようとしていますが、単一の文字は大丈夫ている間、私はトラブルの文字列をプリントアウトを持っています。ここでは は私ですbootloader.asm: org 0x7c00 bits 16 section .text mov ax,0x1000 mov ss,ax

    4

    1答えて

    以下のコードは、4月にはうまく構築できませんでしたが、それ以上はありません。 #![feature(asm)] enum MyEnum { One = 1 } fn main() { unsafe { asm!("nop" : : "i" (MyEnum::One as isize) : :); // broken } } エラーメッセージは、これを引

    0

    1答えて

    私は、特定のワードがパリンドロームかどうかをチェックするために、インラインasseblyを使用する単純なプログラムを作成しています。問題は、正しい答えを返さないということです。デバッグ中に私はそこESIレジスタと間違って何か(alの値が)('a'正しいのですが、blでは、それはありません(0)。私は私が間違ってやっているかわからないんだということが分かった。 #include "stdafx.h"

    1

    5答えて

    レジスタにある既存の値を一時的に保存する場合は、最新のコンパイラ(少なくとも私が経験したコンパイラ)すべてがPUSHおよびPOP命令を実行します。しかし、もし利用可能であれば、別のレジスタにデータを保存してみてはいかがですか? 既存の値を一時的に保存する場所はどこですか。スタックまたは登録?結局のところ MOV ECX,16 LOOP: MOV ESI,ECX ;Value saved to

    1

    1答えて

    cプロトタイプを使用せずにアセンブリ関数を記述しようとしています。 何らかの理由でgccがグローバルコンテキストで拡張asmを使用できないように見えます。 succssefullyコンパイルし、次のコードを検討してください:次のように私も、ASMを使用してプロトタイプを定義しようとしていた場合 void *g_var; void foo() { asm ("stx %%i7, [%

    0

    1答えて

    私はしばらく検索していましたが、私の問題の答えを見つけることができませんでした。私は、実行可能ファイルがデバッグされているかどうかを検出するためにいくつかの関数をコーディングしようとしており、__asmタグを使ってそのためにいくつかのインラインアセンブリを使用しています。それは2つのエラーを投げつけ続け、残りのコードはうまくコンパイルされているようです。ここでは機能 int peb_detect(

    -1

    1答えて

    アセンブリが初めてで、インラインアセンブリを使用してグラフ用の単純な関数を実装することにしました。コンストラクタは、隣接行列のすべての要素を0に初期化するはずですが、私は私がやったことを理解していない、間違った struct graph { int el[MAX_V][MAX_V]; int noVert; int noEdges; bool directed; graph() {

    1

    1答えて

    私は関数をcからアセンブリに書き直そうとしています。これは、これをより効率的にするのではなく、Cでアセンブリを書くことの練習です。 問題は、私は3つのasm()ブロックで作業していますが、それらを組み合わせることはできません。私はそれらを組み合わせるときに私が紛失しているものがなければならないと思う。 これは、現在動作するコードです: ​​ コードの仕事の上の部分の両方が期待通り: 137 _

    -2

    1答えて

    ユーザーから-15から15までのいくつかの数値を読み取るために、次のコードを記述します。次に、最小の数を得るために配列をバブルソートします。 (私は他の情報を印刷する必要があるため、バブルソート)しかし、コードは動作していません。ここに私のコードです。 // oops.cpp : Defines the entry point for the console application. //