gpt4 book ai didi

javascript - 用 0xFFFF 屏蔽 16 位值

转载 作者:数据小太阳 更新时间:2023-10-29 06:06:17 24 4
gpt4 key购买 nike

我正在关注 guide在 Gameboy 仿真上,在一段代码中我看到了以下内容:

while(true) 
{
var op = MMU.rb(Z80._r.pc++); // Fetch instruction
Z80._map[op](); // Dispatch
Z80._r.pc &= 65535; // Mask PC to 16 bits
Z80._clock.m += Z80._r.m; // Add time to CPU clock
Z80._clock.t += Z80._r.t;
}

其中 pc 是一个 16 位程序计数器寄存器,十六进制的 655350xFFFF ,用 0xFFFF 屏蔽 16 位值的目的是什么?据我所知这没有任何作用?还是跟符号位有关?

最佳答案

我认为重要的部分是您使用 JavaScript - 它只有一种数字类型 - float 。但显然底层引擎可以识别何时应该使用整数 - 使用位掩码强烈建议我们将其用作整数,因为位操作通常对 float 没有意义。它还将这个特定变量中所有使用的坑 trim 为最后 16 个——你有什么保证早些时候它没有使用比最后 16 个更旧的位?如果所有后续操作都假设数字是 16 位,那么如果不使用掩码,您的假设很容易被打破。

关于javascript - 用 0xFFFF 屏蔽 16 位值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28792899/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com