assembly

    0

    1答えて

    MIPSを使用してDijkstraのアルゴリズムの実装でエッジ(ソースのインデックス|宛先のインデックス)を表す整数の配列を作成しようとしています。 rsimで実行しているときに、「アラインされていないワードメモリ参照」エラーが発生しています。私は、メモリアライメントが何を指しているのか誤解していると思います。私の.dataのは.textセクションでは .data .align 4 ente

    -2

    1答えて

    私はアセンブリ8086でバブルソート機能を実行しようとしていますが、何らかの理由で間違った答えが出てしまい、その理由がわかりません。 私はまだそれを学んでいないし、私はそれを使用する方法がわからないので、任意の.code、.dataとそれらのいずれかを使用することはできません。 私が使ったスワップ機能は、私が知っている限り動作します。 (編集済み) org 100h jmp main

    0

    1答えて

    kの値が正しいかどうかをテストするにはどうすればよいですか? section .data k dw 5 m dw 110 rez dw 0 section .bss tabela resq 3 section .text global _start extern uslov _start: mov qword [tabela], k

    0

    1答えて

    注:これはクラス用です。私はrspとrbpがどのように動作するのか理解しようとしているので、コードのどの部分が乱れているのか理解できます。申し訳ありませんが、私はこれに新しいです。助けてくれてありがとう。 だから、私は私が原因再帰に台無しにされているスタックのどこかに値を格納する際にミスを作ってるんだ疑いリンクリスト .pos 0 init: irmovq Stack, %rsp #

    2

    1答えて

    私はyasmを使って簡単なELFプログラムを構築しようとしています。しかし、私はVMAアドレスが0ではなく0x1000から始まるように.TEXTセクションをターゲットにする方法を理解できません。私はSTARTとORGディレクティブを使用しようとしましたが、これらはターゲティング時にのみ有効ですビン、エルフじゃない。これはヤスムでできますか?

    2

    3答えて

    私はLLVMのビットコードに変身しようとしているコードの部分があります(注意してください、次のLLVMのビットコードを生成する clang -O0 -S -emit-llvm TrainingCode/trainingCode.cpp -o TrainingCode/trainingCode.ll :私はそれで次のコマンドを実行します int main() { volatile do

    0

    1答えて

    アセンブリの学習を始めたばかりです。異なるフラグの仕組みを理解しようとしています。 のは、私がこれを行うとしましょう: mov ax, 0xBFE8h mov bx, 25DFh add ax, bx は、オーバーフローフラグがオンになりませんでしょうか?加算の値は58,823(基数10)で、32,767(符号付き16ビット値)以上です。 プログラムをチェックインし、フラグがオンにならない

    2

    1答えて

    私は以下のコードでいくつかの行を理解できません。 int sc=-1; while (strings[sc++]!=0) { _asm{ PUSH SI; MOV SI,sc; get pointer MOV DL,strings[SI]; get character CMP DL,' '; if not space JNE next MOV AH,2H; display new

    1

    1答えて

    私は環境のような組み込みOSを使っているので、バイナリのサイズはできるだけ小さくする必要があります。実行可能ファイルとして単純なフラット・バイナリ・ファイルを使用していましたが、今はELFを使用しようとしています。私はアセンブリコードを使用していますが、ldとリンクしています。アセンブリコード: CPU i386 BITS 32 SECTION .text progbits alloc exe

    1

    1答えて

    命令が呼び出されるアドレスを見つけるために別の関数を実行する関数をCプログラムに書く方法があるのだろうかと思います。 たとえば、ret関数がメイン関数で使用されているアドレスを探したいとします。 "& main()"で始まるwhileループを作成し、現在のアドレスで命令が "ret"になりアドレスを返すまで、毎回ループして1ずつ増やします。