nasm

    -5

    1答えて

    私は試験に問題があり、私はこれをプログラムする方法を知っていません。誰かが考えているかもしれません。 私はcomando行は、全体的に8個の********があります。最初の桁または文字iは、7と2を3で、3と1を、そして最初から4番目の桁または7私はこの考え方を持っている可能性があります。私は考えているかもしれません。まず第一に私は文字列を整数に変更してからスタックにプッシュしなければならないの

    1

    1答えて

    異なる文字をプッシュする多くのpush命令を記述する必要があります。私はそのためにマクロを使用したいと思います。 %macro push_multi 1-* ; Accept between 1 and ∞ arguments %assign i 1 %rep %0 ; %0 is number of arguments push %{i} %

    1

    1答えて

    私のプログラマーは、バイナリをベース64にエンコードすることになっています。 すべてはEOFまでうまく動作します。私は出力文字列の最後に '='を追加するのに苦労します。 これは、最後のバイトが読み取られている場合にのみ発生します。それは空の空間を埋めるはずです。ここでは、1つまたは2つの '='を追加する必要があるたびに、私のコードを検出します。私の中のSO Read: mov ea

    -2

    1答えて

    における数として出力して、良好な実装は次のようになります segment data use32 class=data number dd 0 format_input db "%d", 0 format_output db "%x", 0 segment code use32 class=code start: push dword number

    1

    1答えて

    このプログラムは、ユーザーが提供する精度でpiを計算する必要があります。 calculate_pi()関数はNASMで記述されています。 //printf("accuracy: %.15f\n", precision); //<- This line プログラムが正しく動作しません。この行がコメント化されている場合は、なぜ は、誰かが私に説明できます。 calcuta_pi()関数に奇妙な数

    -2

    1答えて

    のサンプル・コードで$と$$の本当の意味、私は以下のようなコードを見た:data_segment_sizeが25に等しいなぜ section .data db 'hello' db 'h', 'e', 'l','l','o' data_segment_size equ $-$$ を?私は$と$$の意味を知っていますが、私の本によればこの変数が25である理由を理解で

    0

    1答えて

    私は、ユーザーとの「Hello、ここで名前は」 これは、これまでの私のコードである版画から名前を受け入れ、この単純なプログラムといくつかの問題を抱えている... %define SYSCALL_WRITE 0x2000004 %define SYSCALL_EXIT 0x2000001 %define SYSCALL_READ 0x2000003 SECTION .data pr

    0

    1答えて

    ユーザから入力を得るためにmacroを書きました。入力をいくつかのレジスタに保存する必要があります。 gdbは、保存された値が入力と異なることを私に示しています!ここに私のコードです: %macro exit 0 mov eax, 1 int 0x80 %endmacro %macro get_input 0 ; input is a number push_al

    -1

    1答えて

    この単純な開始プログラムからセグメンテーションフォルトが発生します。 私はデバッグにUbuntu 16.10とkdbgを使用しています。到達点が__int 80h__に達すると、次の行への移動が停止します。 section .bss ; section containing uninitialized data BUFFLEN equ 1024 ; length of buffer Buff

    1

    1答えて

    私は今、x86アセンブリを学び始めました。すべてのアスキー文字と改行を標準出力に出力する簡単なプログラムを作成しようとしました。 これは、改行を除いてすべてのものを期待どおりに出力します。理由を特定できません。 64ビットのubuntuオペレーティングシステムでnasmでコンパイルしました。ここ は、コードは次のとおりです。 section .data curr db ' ' section