Some tutorials say that the EFLAGS register is a general purpose register, while other tutorials say that it is not a general purpose register.
So which one is it?!
Some tutorials say that the EFLAGS register is a general purpose register, while other tutorials say that it is not a general purpose register.
So which one is it?!
No,
MOV EFLAGS, Value instruction. EFLAGS. EFLAGS as an explicit source or destination in any instruction. In fact, there are only 4 instructions that allow you to address the eflags register as a whole: PUSHF, POPF, SAHF, and LAHF
And even these instructions only act upon a limited set of bits within the register.
In fact eflags is as far away from a general purpose register as you can get. It's a special purpose status register.
They are not General Purpose Registers. But rather, "Program Status and Control Register" as for Intel's Documentation, Volume A (section 3.4.1, page 73): 