1

我想这只是 this 的扩展

现在,编译器将数据类型定义为整数、有符号和无符号以及浮点数,以便处理器可以适当地使用它们。

但是说,处理器有一个地址。现在,RTN 中一个非常基本的添加指令就像
ADD R1, R2ie R1 <- R1 + R2。现在说 registerR1刚刚加载了一个包含 32 位浮点并R2具有整数的内存地址。

我想知道,处理器如何以及何时准确知道,以及程序在哪里(以指令格式?)告诉它究竟R1是一个浮点数,并且R2是一个整数?

还有一个,假设我随机给出一个允许访问的内存地址,并要求处理器获取它的内容。现在,处理器如何知道该位置是浮点数还是整数。那么,它究竟是如何处理内容的呢?

4

2 回答 2

3

它知道,因为你告诉它。在 ia32 处理器上,该ADD指令将整数相加。FADD添加浮点数(参见指令参考)。要将浮点数添加到整数,必须将浮点数转换为整数,或者将整数转换为浮点数。

于 2013-01-01T19:30:52.240 回答
1

它没有。处理器只是在指定的寄存器或内存地址上执行指令。

于 2013-01-01T19:29:25.590 回答