これが私のコードです。バイナリ値のサイズを半分の 32 ビットにすると動作しますが、33 ビット以上を試すとすぐに、「エラー A2071: 初期化子の大きさが指定されたサイズに対して大きすぎます」というメッセージが表示されます。
これが私のコードです:
.data
.code
ASM_ADD proc
mov rax, 1111111111111111111111111111111111111111111111111111111111111111b
mov rbx, 1
add rax, rbx
ret
ASM_ADD endp
end
私の知る限り、rax は 64 ビット レジスタであり、この 2 進数の実際の数値表現 (つまり、18,446,744,073,709,551,615 = 2^64 - 1) を使用すると、動作します...しかし、33 以上で試してみると実際のビット値、プログラムはアセンブルしません
これを修正する方法を知っている人はいますか?
ありがとう