代码之家  ›  专栏  ›  技术社区  ›  Callum Rogers

在Z80汇编程序/机器代码中,字节/字/地址是有符号的还是无符号的?

  •  2
  • Callum Rogers  · 技术社区  · 14 年前

    我正在为Z80二进制文件制作一个模拟器,但是我无法找出所有整数数据类型是有符号的还是无符号的 from the manual 或者来自谷歌。寄存器中的数字也是如此 A B ... HL , BC

    另外,在机器代码中,指令后面的字节/字/地址是有符号的还是无符号的?

    8080/Z80 Instruction Set ):

    8080 Mnemonic    Z80 Mnemonic    Machine Code    Operation
    -------------    ------------    ------------    ---------
    MVI A,byte       LD  A,byte      3Ebyte          A <- byte
    LXI B,word       LD  BC,word     01word          BC <- word
    JMP address      JP  address     C3address       PC <- address
    

    3 回复  |  直到 14 年前
        1
  •  3
  •   Jens Björnhager    14 年前
    1. 寄存器可以包含其中一个,大多数操作数同时计算两个答案,因为 Two's complement . 但是,有些指令确实需要包含有符号或无符号值的信息。它们有两种形式,一种是有符号的,另一种是无符号的。不记得Z80有没有这些。

        2
  •  3
  •   supercat    14 年前

    在许多机器上,有符号数和无符号数之间的唯一区别是执行大小比较的方式,以及将较短值转换为较长值的方式(注意,许多处理器的乘法操作有效地将较短类型转换为较长类型,除法本质上就是进行震级比较)。在执行除上述操作以外的任何类型的操作时,有符号和无符号操作数的处理方式(逐位)完全相同,因此无需区分它们。

        3
  •  2
  •   Alex F    14 年前

    推荐文章