如何正确执行ADD/SUB有符号或无符号整数?

Tho*_*son 3 assembly arm

我看到有一个ADD关于ARM指令,它的工作都signedunsigned int?当使用S后缀指定指令时,某些状态标志应该不同,对吧?比如设置overflow(V)标志.我想知道是否有另一个版本的ADD/SUB来处理其中一个整数.

Not*_*hat 8

因为ARM使用二进制补码表示,有符号和无符号加法(类似减法)是相同的.唯一的区别是如果您使用后缀设置它们如何解释标志s.


old*_*mer 5

二进制补码意味着有符号和无符号加法之间没有区别.s位确定是否修改了任何标志IF,然后进位是无符号溢出/借位,v是有符号溢出/借位.这些都在ARMs文档中描述.