简单的仿真器编程:dec和hex

时间:2013-06-13 15:39:27

标签: hex decimal emulation

Notch的DCPU-16规格最近激发了我对简单计算机仿真领域的兴趣,而且只是为了好玩,我想自己制作。

然而,我能找到的所有文章(such as this one)虽然信息量很大,却不断在十进制和十六进制之间切换。例如,此代码:

private void Initialise() {
    ram = new byte[0xFFFF];     // (64K)
    rom_kernel = new byte[8192];
    rom_basic = new byte[8192];
    stack_ptr = 0x01FF;         // The 256 byte stack is stored at $0100-$01FF (starts at $01FF)
    PC = 0x00;                  // Program counter starts at $0
}

为什么甚至首先使用十六进制?这段代码不会更容易使用吗?

private void Initialise() {
    ram = new byte[65535];     // (64K)
    rom_kernel = new byte[8192];
    rom_basic = new byte[8192];
    stack_ptr = 511;         // The 256 byte stack is stored at 256 - 511 (starts at 511)
    PC = 0;                  // Program counter starts at 0
}

我觉得我在这里缺少一些东西,但我对这件事完全不熟悉。请指导我!

1 个答案:

答案 0 :(得分:1)

他们不会任何不同的东西,编译器无论如何都会将它们全部压缩为二进制。这只是品味和清晰度的问题。对于颜色,十六进制更易读,例如green -16711936 vs 0xff00ff00 ......