我正在尝试将寄存器中的值设置为null,以便稍后测试其他值是否为null。我查看了互联网,看看在IA32中null的表示形式,但找不到任何正确的东西。
有人可以帮忙吗?
答案 0 :(得分:8)
在IA-32上,通用寄存器只是位大多数被解释为整数值的位。在“目前没有持有价值”的意义上,它们没有其他状态,例如“null”。 (有些架构确实有这样的附加状态,IA-32中的浮点寄存器可以有这样的状态。)
如果您想将IA-32通用寄存器设置为“无值”状态,则无法执行此操作。
如果要将寄存器设置为“空指针”状态,与C NULL宏相同,则在大多数C实现中将其表示为零。
答案 1 :(得分:4)
Null 的处理方式不同,并且有多个概念。
符号\0
为空(或ascii中的nul)。
如果你的意思是nullable type这是一种抽象我不相信我们在集会中,那么打字就不如高级语言那么强。
如果您的意思是null pointer,则大多数语言将 Null 定义为 0 ,并指出此指针指向无地址等。
请参阅维基百科上的Null。