Type REG [src]
Members
- CS (Constant)
- DS (Constant)
- ERR (Constant)
- ES (Constant)
- FP (Constant)
- FP (Constant)
- FP (Constant)
- FP (Constant)
- FS (Constant)
- GS (Constant)
- PC (Constant)
- PC (Constant)
- PC (Constant)
- PC (Constant)
- R10 (Constant)
- R10 (Constant)
- R11 (Constant)
- R11 (Constant)
- R12 (Constant)
- R12 (Constant)
- R13 (Constant)
- R13 (Constant)
- R14 (Constant)
- R14 (Constant)
- R15 (Constant)
- R15 (Constant)
- R8 (Constant)
- R8 (Constant)
- R9 (Constant)
- R9 (Constant)
- RAX (Constant)
- RAX (Constant)
- RBP (Constant)
- RBP (Constant)
- RBP (Constant)
- RBX (Constant)
- RBX (Constant)
- RCX (Constant)
- RCX (Constant)
- RDI (Constant)
- RDI (Constant)
- RDX (Constant)
- RDX (Constant)
- RFLAGS (Constant)
- RIP (Constant)
- RIP (Constant)
- RIP (Constant)
- RSI (Constant)
- RSI (Constant)
- RSP (Constant)
- RSP (Constant)
- RSP (Constant)
- SP (Constant)
- SP (Constant)
- SP (Constant)
- SP (Constant)
- SS (Constant)
- TRAPNO (Constant)
Source
pub const REG = switch (native_os) {
.linux => linux.REG,
.emscripten => emscripten.REG,
.freebsd => switch (builtin.cpu.arch) {
.aarch64 => struct {
pub const FP = 29;
pub const SP = 31;
pub const PC = 32;
},
.arm => struct {
pub const FP = 11;
pub const SP = 13;
pub const PC = 15;
},
.x86_64 => struct {
pub const RBP = 12;
pub const RIP = 21;
pub const RSP = 24;
},
else => struct {},
},
.solaris, .illumos => struct {
pub const R15 = 0;
pub const R14 = 1;
pub const R13 = 2;
pub const R12 = 3;
pub const R11 = 4;
pub const R10 = 5;
pub const R9 = 6;
pub const R8 = 7;
pub const RDI = 8;
pub const RSI = 9;
pub const RBP = 10;
pub const RBX = 11;
pub const RDX = 12;
pub const RCX = 13;
pub const RAX = 14;
pub const RIP = 17;
pub const RSP = 20;
},
.netbsd => switch (builtin.cpu.arch) {
.aarch64 => struct {
pub const FP = 29;
pub const SP = 31;
pub const PC = 32;
},
.arm => struct {
pub const FP = 11;
pub const SP = 13;
pub const PC = 15;
},
.x86_64 => struct {
pub const RDI = 0;
pub const RSI = 1;
pub const RDX = 2;
pub const RCX = 3;
pub const R8 = 4;
pub const R9 = 5;
pub const R10 = 6;
pub const R11 = 7;
pub const R12 = 8;
pub const R13 = 9;
pub const R14 = 10;
pub const R15 = 11;
pub const RBP = 12;
pub const RBX = 13;
pub const RAX = 14;
pub const GS = 15;
pub const FS = 16;
pub const ES = 17;
pub const DS = 18;
pub const TRAPNO = 19;
pub const ERR = 20;
pub const RIP = 21;
pub const CS = 22;
pub const RFLAGS = 23;
pub const RSP = 24;
pub const SS = 25;
},
else => struct {},
},
else => struct {},
}