在我的Raspberry PI上学习ARM组装时,我一直在弄弄Flags。我已经设计出仅设置零标志,仅设置负标志和仅设置进位标志的方法。但是我想不出一种只设置溢出标志的方法。可能吗?任何帮助,将不胜感激!
编辑:仅将溢出标志设置为所有其他标志为零/清除。仅使用算术或移位。
NZCV = 0001
Edit2:为进一步阐明,我认为要实现此目的需要多个指令,并且您不能直接写入cpsr。
最佳答案
我仅用一条指令就看不到一种明显的方法,但是可以结合使用。例如:
mov r0, #0x80000000
mov r1, #0x00000001
subs r2, r0, r1 ; C and V set
mov r3, #0x10
asrs r3, #1 ; C cleared, V not changed