Assembly LSL指令是否在ARM处理器中设置过溢出标志?

Assembly LSL指令是否在ARM处理器中设置过溢出标志?,assembly,arm,Assembly,Arm,如果将LSL应用于符号和幅值编号0111111…,则幅值的msb将成为符号位。发生溢出 我知道在这种情况下,可以通过查看进位(设置为旧的msb)不等于符号位来检测溢出。但是,我不清楚ARM处理器是否也会自动设置溢出标志,或者是否需要明确地进行比较?检查指令集快速参考卡 它显示受每条指令影响的标志。lsl未列出v标志 没有 如果要以设置V的方式按1移位,请使用添加r1、r0、r0 x+x=x*2=x如果有疑问,试试看。可能比在互联网上查询更快更可靠:)据我所知,LSLS被汇编程序转换成MOVS,手

如果将
LSL
应用于符号和幅值编号
0111111…
,则幅值的msb将成为符号位。发生溢出


我知道在这种情况下,可以通过查看进位(设置为旧的msb)不等于符号位来检测溢出。但是,我不清楚ARM处理器是否也会自动设置溢出标志,或者是否需要明确地进行比较?

检查指令集快速参考卡

它显示受每条指令影响的标志。lsl未列出v标志

没有

如果要以设置
V
的方式按1移位,请使用
添加r1、r0、r0


x+x=x*2=x如果有疑问,试试看。可能比在互联网上查询更快更可靠:)据我所知,
LSLS
被汇编程序转换成
MOVS
,手册上说“不影响V标志”。对于thumb,有一个ARM指令编码,它看起来确实是mov的伪指令。但是这个问题的答案在arms文档中有明确的记录,没有任何含糊的地方。除了一位的移位,lsl不是加法,所以有符号溢出的概念吗?对于使用而不是乘法,同样可以让您阅读arm文档。无论如何,它不是含糊不清的,非常清楚地说明每个指令的每个标志发生了什么。