att

    1

    1答えて

    私は、stdinとstdoutを使用してバイトのシーケンスを必要とする限り、部分的に読み書きできるT0アセンブリをAT &プログラムに書きます。 大きなラテン文字(A、B、C、D、...)だけを前方に変更するシーザー暗号スクランブラでなければなりません(AからB、BからC、CからD、 A)。 プログラムがシーケンスの最初の部分を読み込むのと同じように、他の文字をそのまま残したまま文字を変更し、変更

    1

    2答えて

    私が書いた: mov 60, %rax を私は mov $60, %rax を書かれているはずですが、GNU asは、それを受け入れは、2回のそのような呼び出しの間に違いはありますか?

    0

    1答えて

    整数配列のサイズがeaxに格納されているとします。私はあなたがそうのような配列にメモリを割り当てることができたとします subl (%eax), %esp しかし、EAXでサイズがユーザによって提供され、各プログラムの実行と異なるサイズになります。これを考えると、どのようにしてscanfでユーザーが指定した整数で各4バイトのメモリアドレスを初期化できますか?アレイのサイズより多くの整数が供給さ

    -2

    1答えて

    英語それは私の最初の言語ではないので、私は間違っていくつかの単語を間違えて綴る場合。私はスタックにいくつかの問題を抱えています。私がここに入れるコードはすべて完璧に動作します。 このコードは、たとえば簡単ですが、私はそのスタックを理解しています。 .globl f f: push %ebx movl 8(%esp), %eax movl 12

    0

    1答えて

    cmoveを私が望むように動作させることができないようです。私はこのコードのビットがあります cmove $1, %eax をそして私は、コンパイルでこのエラーを取得する: Error: operand type mismatch for `cmove' しかし、完璧に動作mov、と言う、とcmoveを交換し、 mov $1, %ecx cmove %ecx, %eax 作品あまりに

    0

    1答えて

    私はx86の構文を学んでいます。 私はそれが何をするかを確認するように思えません。このコマンドに出くわしました: cmpl $0x0,%cs:0x6574 私はcmpだけの違いを比較し、フラグを設定します知っています。また、符号なしの値が比較されていることを示すためにlがあります。 私の質問は: 私たちは何を比較していますか? 0x0の値はどの値に対して%cs:0x6574ですか? csレジス

    1

    1答えて

    私はこのATファイルを、& Tアセンブリで書いています。 .globl interleave interleave: pushl %ebx pushl %esi pushl %edi movl 16(%esp), %ebx #a movl 20(%esp), %esi #b movl 24(%esp), %edi #c D: m

    0

    1答えて

    &構文でこれと同等のものは何ですか?私はGoogleを介して何かを見つけることができない。 struc node info: resd 1 next: resd 1 endstruc

    2

    1答えて

    次のバリアの実装を理解しようとしています。目標は_entryが1回だけ入力できることです。私が得ることのできない部分は%ripです。明らかにそれはmutex(%rip)=0の場合に回転しますが、それはなぜですか? .section data mutex: .long 0 .section text ... _entry: xor %rax, %rax xch