Learn Multi platform Risc-V Assembly Programming... For Open Source CPUs!

This page is Under Construction.... 'Learn RiscV is planned for 2020'

Risc-V is a relative newcomer - essentially competing with ARM.

When ARM is incredibly cheap, widely available, and impressively powerful, why would we need a competitor? Well the answer is simple... you need an ARM license to make the chip... and that license can be revoked at any time

If you want a truly open platform that you have total control over, ARM cannot currently provide that... which is where Risc-V comes in!

If you want to learn Risc-V get the Cheatsheet! it has all the RISC-V commands, it covers the commands and how those commands compile to bytecode

Risc-V Registers

Bits Int Reg Name Detail
00000 x0 zero Hard-wired zero
00001 x1 ra Return address Caller Used for function return with jalr x0, x1, 0
00010 x2 sp Stack pointer Callee
00011 x3 gp Global pointer
00100 x4 tp Thread pointer
00101 x5 t0 Temporary/alternate link register Caller
00110 x6 t1 Temporaries Caller
00111 x7 t2 Temporaries Caller
01000 x8 s0 / fp Saved register/frame pointer Callee
01001 x9 s1 Saved register Callee
01010 x10 a0 Function arguments/return values Caller Use to pass to functions
01011 x11 a1 Function arguments/return values Caller Use to pass to functions
01100 x12 a2 Function arguments Caller Use to pass to functions
01101 x13 a3 Function arguments Caller Use to pass to functions
01110 x14 a4 Function arguments Caller Use to pass to functions
01111 x15 a5 Function arguments Caller Use to pass to functions
10000 x16 a6 Function arguments Caller Use to pass to functions
10001 x17 a7 Function arguments Caller Use to pass to functions
10010 x18 s2 Saved registers Callee
10011 x19 s3 Saved registers Callee
10100 x20 s4 Saved registers Callee
10101 x21 s5 Saved registers Callee
10110 x22 s6 Saved registers Callee
10111 x23 s7 Saved registers Callee
11000 x24 s8 Saved registers Callee
11001 x25 s9 Saved registers Callee
11010 x26 s10 Saved registers Callee
11011 x27 s11 Saved registers Callee
11100 x28 t3 Temporaries Caller
11101 x29 t4 Temporaries Caller
11110 x30 t5 Temporaries Caller
11111 x31 t6 Temporaries Caller

Float Reg Name Detail
f0 ft0 FP temporaries Caller
f1 ft1 FP temporaries Caller
f2 ft2 FP temporaries Caller
f3 ft3 FP temporaries Caller
f4 ft4 FP temporaries Caller
f5 ft5 FP temporaries Caller
f6 ft6 FP temporaries Caller
f7 ft7 FP temporaries Caller
f8 fs0 FP saved registers Callee
f9 fs1 FP saved registers Callee
f10 fa0 FP arguments/return values Caller
f11 fa1 FP arguments/return values Caller
f12 fa2 FP arguments Caller
f13 fa3 FP arguments Caller
f14 fa4 FP arguments Caller
f15 fa5 FP arguments Caller
f16 fa6 FP arguments Caller
f17 fa7 FP arguments Caller
f18 fs2 FP saved registers Callee
f19 fs3 FP saved registers Callee
f20 fs4 FP saved registers Callee
f21 fs5 FP saved registers Callee
f22 fs6 FP saved registers Callee
f23 fs7 FP saved registers Callee
f24 fs8 FP saved registers Callee
f25 fs9 FP saved registers Callee
f26 fs10 FP saved registers Callee
f27 fs11 FP saved registers Callee
f28 ft8 FP temporaries Caller
f29 ft9 FP temporaries Caller
f30 ft10 FP temporaries Caller
f31 ft11 FP temporaries Caller


View Options
Default Dark
Simple (Hide this menu)
Print Mode (white background)

Top Menu
Youtube channel
ASM Programming Forums
Dec/Bin/Hex/Oct/Ascii Table

Z80 Content
Learn Z80 Assembly
Hello World
Advanced Series
Multiplatform Series
Platform Specific Series
ChibiAkumas Series
Grime Z80
Z80 Downloads
Z80 Cheatsheet
DevTools kit
Z80 Platforms
Amstrad CPC
Elan Enterprise
Gameboy & Gameboy Color
Master System & GameGear
Sam Coupe
ZX Spectrum
Camputers Lynx

6502 Content
Learn 6502 Assembly
Advanced Series
Platform Specific Series
Grime 6502
6502 Cheatsheet
DevTools kit
6502 Platforms
Apple IIe
Atari 800 and 5200
Atari Lynx
BBC Micro
Commodore 64
Super Nintendo (SNES)
Nintendo NES / Famicom
PC Engine (Turbografx-16)
Vic 20

68000 Content
Learn 68000 Assembly
Platform Specific Series
Grime 68000
68000 Cheatsheet
DevTools kit
68000 Platforms
Amiga 500
Atari ST
Neo Geo
Sega Genesis / Mega Drive
Sinclair QL (Quantum Leap)
X68000 (Sharp x68k)

My Game projects
Chibi Aliens
Chibi Akumas

Work in Progress
Learn 6809 Assembly
Learn 65816 Assembly
Learn 8086 Assembly (x86)
Learn ARM Assembly
Gameboy Advance
Risc Os

Misc bits
Ruby programming

If you want to support my work, please consider backing me on patreon!

Buy Chibi Akuma(s) from PolyPlay
Buy ChibiAkuma(s) games now!