RISC-V call Pseudo-Instruction Details
Assembler pseudo-instructionChapter 26 of the RISC-V Assembly Programmer's Manual lists call symbol and call rd, symbol as assembler pseudoinstructions for calling a far-away subroutine. call symbol implicitly uses ra as the link register to save the return address, while call rd, symbol uses the specified rd instead. The psABI associates the AUIPC+JALR pair generated by CALL with R_RISCV_CALL or R_RISCV_CALL_PLT.
What This Pseudo Instruction Is Saving You From Writing
Chapter 26 of the RISC-V Assembly Programmer's Manual provides call as assembler syntax for calling a far-away subroutine: the default form implicitly uses ra as the link register, while the explicit form uses the specified rd to save the return address.
How To Read The Expansion
Official References And Reading Order
This page treats pseudo-instructions as assembler-level aliases or macros: first read what real instructions they expand to, then use the official ISA manual for the behavior of those real instructions. ABI, relocation, and linker-relaxation details follow the psABI document.
Pitfalls / Common Confusions
FAQ
Is call a separate hardware opcode?
No. Chapter 26 of the RISC-V Assembly Programmer's Manual lists call as a pseudoinstruction, and the psABI describes the AUIPC+JALR pair it generates.