nasm

    3

    1答えて

    gccのを知っています。 .asmファイルの出力を調べて、構文がTASMであることに気づいた。以下はmakeファイルとgccからの出力です。私は何か間違っているのですか、それともgccが本当のNASM構文を出力しないのでしょうか? all: main main: main.o ld -o main main.o main.o : main.c gcc -S -mas

    2

    2答えて

    どうすればこのプログラムが画面に表示されないのですか?INT 80コマンドで何かが見つからないのですか? section .bss section .data hello: db "Hello World",0xa ;10 is EOL section .text global _start _start: mov ecx

    0

    2答えて

    私はアセンブリプログラムの途中で、配列を宣言したいと思います。私はレジスタに配列のサイズを持っており、要素のタイプ(各要素の数は何バイトか)を知っています - この配列のヒープに領域を確保するにはどうしたらいいですか? mallocを呼び出す必要はありますか?

    6

    4答えて

    で改行せずに、私は最近、アセンブリ内のprintfおよびscanfを使ってこの記事を読んだ:特に Meaning of intfmt: db "%d", 10, 0 in assembly それは を言う「printf関数では、改行は、その後、改行を出力し、(もし出力はラインバッファモードになっています)、内部出力バッファをフラッシュして結果を実際に見ることができるので、10を削除するとフラッシュ

    0

    1答えて

    stdinからレジスタに数値を読み込ませる方法/システムコール/関数はありますか? 現在、9文字などの文字列で読み取ることができます。 これは私が私の電話番号は、可変長のものであってもよいので、探していたもの、残念ながら、ないです(限り、それはアセンブリで表現される) 例えば私は "-1123534"のような負の数値と同様に "5"と "66785949"を入力でき、文字列ではなくアセンブリで実際

    2

    1答えて

    nasmアセンブリファイルからCの入出力関数を呼び出す方法はありますか?

    1

    1答えて

    アセンブリコードの.text部分に文字列ポインタを定義する方法はありますか? SECTION .text global main main: fmt: dd "%s", 10, 0 または多分文字列を構築し、それを指すレジスタを持っている、このすべてが.textセクションで行うことができる置きますか?

    1

    1答えて

    アセンブリにmallocedしたメモリにアクセスしようとしていますが、繰り返しsegfaultエラーが発生します。私は次のコードで何が間違っているのですか、私はそれが簡単だと確信していますが、私はそれを見ることができません! 編集:私は(...非常に興味深いれていない)64ビットNASMアセンブリ ; Allocate room for 8 integers mov r8, 8 mov rdi

    0

    1答えて

    nasmの2つの値を比較したいですが、後でジャンプしたくありません。 だから私はこのようなものがある場合: bool a = (1 < 2) && (2 < 3); NASMでこれを行うための最短の方法は何を? については、

    1

    1答えて

    org 100h mov ah, 9 mov dx, str1 mov byte [str1+2], [char] int 21h mov ah, 4Ch int 21h str1 db 'String$' char db "o" なぜNASMは私に、このエラーメッセージ出すん:私はこの行のオペコードの組み合わせが無効とオペランド mov byte [str1+2], [