Architecture 携带标志过时了吗?

Architecture 携带标志过时了吗?,architecture,instruction-set,carryflag,Architecture,Instruction Set,Carryflag,携带标志似乎有两个主要用途。1) 它对于链接加法/减法指令以对大于本机大小的数字进行操作非常有用。例如,在8位体系结构上添加32位整数。2) 它用于条件分支。还有一些不太常见的用法(例如,我在英特尔上使用了fcomi)。特别是,进位标志不能从C或任何其他常见的非汇编语言定义或访问。32位和64位体系结构非常常见,而且大多数软件都是用C编写的,我不得不怀疑: 携带标志过时了吗?如果一个新的建筑没有它,谁会错过它呢 我假设它不需要作为条件代码(例如,用谓词替换标志),因此它不仅用于链接add/sub

携带标志似乎有两个主要用途。1) 它对于链接加法/减法指令以对大于本机大小的数字进行操作非常有用。例如,在8位体系结构上添加32位整数。2) 它用于条件分支。还有一些不太常见的用法(例如,我在英特尔上使用了fcomi)。特别是,进位标志不能从C或任何其他常见的非汇编语言定义或访问。32位和64位体系结构非常常见,而且大多数软件都是用C编写的,我不得不怀疑:

携带标志过时了吗?如果一个新的建筑没有它,谁会错过它呢


我假设它不需要作为条件代码(例如,用谓词替换标志),因此它不仅用于链接add/sub/rot,而且移入/移出它的效果也将消失。

您确信编译器不会生成使用进位标志的代码吗?:)@sarnold—我猜当前的编译器会将其用于条件语句,为此我会提出一种不同的机制。除此之外,我想不出这样做的理由——因此我提出了一个问题:——)