error A2502: operand 2: Expected constant 我做错了什么? CPSR在arm64中不存在。有 PSTATE 具有大致相同的作用,但它也不是寄存器,它是“进程状态信息的抽象”。您可以通过寄存器(如 NZCV、 PAN 或 DAIF)访问它的某些部分,但完整获取或设置它的唯一方法是通过 SPSR_ELn 和异常进入/返回。最新...
CPSR的第31位是 N,符号标志位。它记录相关指令执行后,其结果是否为负.如果为负 N = 1,如果是非负数 N = 0. 注意,在ARM64的指令集中,有的指令的执行时影响状态寄存器的,比如add\sub\or等,他们大都是运算指令(进行逻辑或算数运算); Z(Zero)标志 CPSR的第30位是Z,0标志位。它记录相关指令执行后,...
如下汇编代码,会在beq mycode获取 cpsr 中 Z 的值,Z=1,所以会跳过mov x3,#0x8代码段,直接跑到mov x4,#0x8,这就是b指令的作用。 如果beq mycode替换成b mycode,则代表无条件跳转到mycode继续执行 // ARM64.s.text.global_test _test:mov x0,#0x3mov x1,#0x4cmp x0,x1 beq mycode mov x5,#0x...