私はMASMで働いています。
64 ビット変数があり、レジスタからの 32 ビット入力を 64 ビット変数の下半分に格納する必要があります。
まず、下半分のアドレスをレジスタに移動します。
mov ebx, OFFSET num1+32
次に、PTR
命令を使用して、32 ビット入力を変数の後半に格納します。
mov DWORD PTR [ebx], eax
ただし、2 行目が実行されるたびに、「.data」で宣言された文字列の 1 つがメモリに上書きされます。それは次のとおりです。
45 6e 74 65 72 20 46 69 72 73 74 20 48 61 6c 66 20 6f 66 20
に
45 6e 74 65 72 20 46 69 bb bb bb bb 48 61 6c 66 20 6f 66 20
変更点はbb bb bb bb
上図の通りです。
これbb bb bb bb
は、上記の 2 行が実行される前に、64 ビット変数に格納されるように入力したものです。
アドバイスをいただければ幸いです。ありがとう