General purpose means all of these registers might be used with any instructions doing computation with general purpose registers while, for example, you cannot do whatever you want with the instruction pointer (RIP) or the flags register (RFLAGS).
Some of these registers were envisioned to be used for specific use, and commonly are. The most critical ones are the RSP and RBP.
Should you need to use them for your own purpose, you should save their contents before storing something else inside, and restore them to their original value when done.
Related Posts:
- What’s the purpose of the LEA instruction?
- What’s the purpose of the LEA instruction?
- What’s the purpose of the LEA instruction?
- The difference between cmpl and cmp
- What is callq instruction?
- LC3 LEA instruction and the value stored
- What does movslq do?
- what does the cmpq instruction do?
- Nasm Error: invalid combination of opcode and operands
- How do AX, AH, AL map onto EAX?
- What are callee and caller saved registers?
- Difference between movq and movabsq in x86-64
- Understanding cmp instruction
- assembly “mov” instruction
- Why shift a bit using sll and such in MIPs Assembly?
- Assembly code vs Machine code vs Object code?
- Understanding how `lw` and `sw` actually work in a MIPS program
- What does the MOVZBL instruction do in IA-32 AT&T syntax?
- How to move ST(0) to EAX?
- The point of test %eax %eax
- Assembly: How does fld st(0) duplicates the top stack value in the following code?
- What does the MOVZBL instruction do in IA-32 AT&T syntax?
- x86 cmpl and jne
- MIPS: lw (load word) instruction
- What is the meaning of XOR in x86 assembly?
- What is the function of the push / pop instructions used on registers in x86 assembly?
- What does the BEQ instruction do exactly?
- What’s the size of a QWORD on a 64-bit machine?
- MIPS assembly for a simple for loop
- mips .word function and differences between 2 codes
- Why doesn’t there exists a subi opcode for MIPS?
- Purpose of ESI & EDI registers?
- What are the ESP and the EBP registers?
- IDIV operation in assembly (understanding)
- Convert C program into assembly code
- Understanding %rip register in intel assembly
- What exactly does the lb instruction do?
- lc3 LDR instruction and the value stored
- What is the difference between la and li in opcodes in MIPS?
- movq assembly function
- Assembly language je jump function
- What are .S files?
- explanation about push ebp and pop ebp instruction in assembly
- what is the use of ori in this part of MIPS code?
- Storing a user’s input in MIPS
- x86 assembly: How does the ‘subl’ command work in AT&T syntax
- Integer absolute value in MIPS?
- Purpose of ESI & EDI registers?
- MIPS Assembly – lui $t0, 4097?
- Bubble sort on array on Assembly Language
- Greater than, less than equal, greater than equal in MIPS
- When and why do we sign extend and use cdq with mul/div?
- Assembly addq clarification
- MIPS program jr $ra instructions and stack handling
- Subtract two input numbers
- writing functions in assembler
- Assembly language (MIPS) difference betweent addi and add
- pop or add esp, 4 ? What is the difference?
- What is the difference between MOV and LEA?
- MIPS Address out of range (MARS)
- Difference between “addi” and “add” for pseudoinstruction “move” in MIPS?
- `testl` eax against eax?
- sorting array in mips (assembly)
- Difference between JE/JNE and JZ/JNZ
- what is a file handle and where it is useful for a programmer?
- Printing out a number in assembly language?
- How does `Skipcond` work in the MARIE assembly language?
- Multiplication by a power of 2 using Logical shifts in MIPS assembly
- What does `dword ptr` mean?
- Difference between JA and JG in assembly
- MIPS instruction and machine code
- Convert from Java to MIPS
- what does the the dword operand do in assembly
- Understanding Assembly MIPS .ALIGN and Memory Addressing
- What’s the difference between a word and byte?
- What is the jmpq command doing in this example
- What does the LEAL assembly instruction do?
- Assembly – JZ instruction after CMP
- [Binary Bomb – Phase 4
- What does bx lr do in ARM assembly language?
- Is it possible to “decompile” a Windows .exe? Or at least view the Assembly?
- need help understanding the movzbl call in this function
- ARM Assembler – How do I use CMP, BLT and BGT?
- C to assembly – leaq instruction
- Difference between JA and JG in assembly
- what does .space do in mips?
- Display value found at given address gdb
- Bubble sort algorithm in MIPS
- How do I correctly use the mod operator in MIPS?
- xorl %eax – Instruction set architecture in IA-32
- Difference between “move” and “li” in MIPS assembly language
- How can one see content of stack with GDB?
- Assembly – JG/JNLE/JL/JNGE after CMP
- X86 assembly – Handling the IDIV instruction
- How do I compile the asm generated by GCC?
- Do all 64 bit intel architectures support SSSE3/SSE4.1/SSE4.2 instructions?
- error A2022: instruction operands must be the same size
- MIPS to C Translation
- GDB no such file or directory
- What is between ESP and EBP?