gas

    1

    1答えて

    私はジョナサン・バートレットの「基礎からプログラミング」の本からGNUアセンブリを学んでいます。 関数呼び出しとスタックのトピックを調べているうちに、その動作を理解できません。以下は は本に書かれているものです: 機能を実行する前に、プログラムは、彼らが文書化されていることを逆の順序でスタックに関数のパラメータのすべてをプッシュ。次に、プログラムは、どの機能を開始したいかを示す呼び出し命令を発行す

    2

    1答えて

    私はAT & T構文で作業していましたが、私はintelを試してみると思っていました。私はこのコードを持っています: .text .global _start _start: mov ebx, 0 mov eax, 1 int 80h どちらが正しいでしょうか?それは私がそれを変換する前にAT & Tでしました。 私が使用して組み立ててい

    1

    1答えて

    私はx86のアセンブリでプログラミングを始めています。私はそのためのガイドに従っています。私はガスを使ってLinux仮想マシンでコンパイルしています。 私は、メインルーチンがすぐにプログラムを終了する単純な空のプログラムを実行しようとしています。それは私が従っているガイドの最初の仕事です。私のコードは、ファイルhello.sに保存され、それは次のようになります。私は、ファイルのディレクトリに移動し

    1

    1答えて

    私は小さなコンパイラープロジェクトで作業しています。スタックの値の代わりにスタック位置のアドレスをプッシュする方法がわかりません。ロケーション。私の目標は、整数値を保持するスタック位置アドレスを、それを出力するC関数へのvoidポインタとしてプッシュすることです。私の最終的な目標は、関数内でポインタ整数演算を行うことです。私は、ランタイムライブラリ拡張からC関数を呼び出すことに成功しましたが、問題

    1

    1答えて

    私はトークンcrowdsaleのためにERC20ベースの契約を強固に書いて、rinkeby、ropsten、さらにはtestrpcなどの異なるネットワークでテストしました。 私はtestrpcで自分のコードをコンパイルするとうまく動作します。 rinkebyで契約をコンパイルして展開すると、取引中にガス限界を超えてエラーが発生し、トランザクションに失敗します。私がコンパイルして展開するとき、ロープ

    1

    1答えて

    私はGNUアセンブリで配列を扱おうとしています。私の意見では、次のコードでは、値3で終了しなければなりません。しかし、それは私の意見movw inArr(%rip, %rcx, 2), %diコマンドでは13 .section __DATA,__data inArr: .word 13, 2, 3, 4, 5, 6, 7, 8, 9, 10 outArr:

    4

    1答えて

    私はIntel構文とAT & T構文(私はGNU asを使用しています)の違いを理解しようとしています。 .intel_syntax noprefix val: mov eax, val とatandt.s: val: mov $val, %eax 私はインテルのバージョンにAT & Tのバージョンを変換しようとしています は、私は2つのファイル、intel.sを持

    2

    1答えて

    Wikibooks x86 Assemblyは言う: ガス命令は、一般的にフォームニーモニック元、送信先を持っています。たとえば、次のmov命令: しかし、このルールの例外は何も言わず、命令表も見つけられません。 official AS documentationには、すべての命令の構文を示すセクションはありません(かなり長いですが、セクションを見逃している可能性があります)。しかし、normal

    2

    1答えて

    大学のプロジェクトとしてコンパイラーを書く。私はコードを生成する段階にあります。これは、(印刷物常に0)に機能しない理由と私は思ったんだけど: .extern printf .section .data hello: .string "Hello %f!\n" .section .text .globl main main: pushl %ebp movl

    0

    1答えて

    私は非常に混乱し、ブロックに当たっています。私のクラスの課題は、私が次のことをしていることです。 すべて大文字に入力 変換文字列 変換された文字列を持つユーザーに表示するメッセージ のプロンプトグリートユーザー Iは1と2とは問題を持っていない、必要なとき私は小文字を大文字に変換するループを理解することができます。 cmp $96, %ah jg Subtract call Loop Su