在我的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

07-24 09:44
查看更多