0

これが私のコードです。バイナリ値のサイズを半分の 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 以上で試してみると実際のビット値、プログラムはアセンブルしません

これを修正する方法を知っている人はいますか?

ありがとう

4

0 に答える 0