att

    0

    2答えて

    .code32 .text .globl _start _start: ; .globl main .extern printf pushl %ebp movl %esp, %ebp ; subl $4, %esp movl 4(%ebp), %eax ; movl 12(%ebp), %ebx ; movl $0, %ecx

    -2

    1答えて

    だから私は議会を学んだし、私はこのコードに遭遇しています movl num(,%eax,4), %eax を誰かがそのNUM()関数が何であるかを説明できますか?

    0

    1答えて

    私は、アセンブリ言語を学ぶに新しいですし、次の式に出くわした: 9(%rax, %rdx) 0xFC(,%rcx,4) (%rax, %rdx, 4) 誰かができれば、私は本当に感謝されます私がこれらのコマンドを理解したり、それを私に説明したりできるリソースを私に指摘してください。 ありがとうございます。

    1

    1答えて

    アセンブリコードを理解しようとしています。私は、これは私のCコードです leaqコマンドの後にポインタが割り当てられている部分と、コード内で立ち往生しています: #include <stdio.h> #include<stdlib.h> int main(){ int x=50; int *y=&x; return 0; } これが私の、対応するアセンブリ

    0

    1答えて

    %esxには%esiの値を左にシフトさせたいが、shlのソースは即値でなければならない。 私は%ecxの値でシフトする方法を理解できますか?私は周りを見回し、人々がCLレジスタの使用を推奨しているのを見ました。しかし、代替手段はありますか? ありがとうございます。

    1

    1答えて

    AESのアセンブラベースの実装をコンパイルしようとしています。表示可能なのはhereです。私のアセンブラは、私に次のエラーを与えています。同じエラーのインスタンスに見えるものよりも何度か繰り返しました。正確なソースの場所はhereですが、これによるファイルで使用されるプリプロセッサ間接大量に、私は、コンパイラによって見られるような正確なコードを与え、私のビルド出力から、正確なエラーをコピーした:

    2

    1答えて

    現在、私はバイナリボンベ割り当てのフェーズ2で作業中です。私は、特定の関数が呼び出されたときに正確に解読するのに問題があります。私は数日間それに固執してきた。 機能は次のとおりです。 それは、 "phase_2" より大きな機能で呼び出されます: 0000000000400f4d <phase_2>: 400f4d: 53 push %rbx 400f4e: 48 8

    0

    1答えて

    私はアセンブリの初心者で、AT & T構文のLinux 64ビットでプログラミングしています。レジスタに数値1を格納すると、それをASCII文字 "A"にどのように変換できますか?たとえば: movl $1, %ebx addl $64, %ebx は、私が65(Aの小数点値)を作るために1に64を追加することができ、その後、何らかの形で「A」に変換し、writeシステムコールを使用してバッ

    0

    2答えて

    add -0x4(%r12), %eax cmp %eax, %r12 アセンブリでこれらの2行が指定されています。 私の推測では、r12の値から4を引いて、それをeaxに追加すると思います。 r12は元の値から-4のままですか、値は元の値に保たれますか? たとえば、r12 = 5で、eax = 3の場合、add関数はeax = 4となります。 r12はまだ5か、それとも1になりますか?