From 5ce0c817e8ae12fa7b9130b859c544f032db1b01 Mon Sep 17 00:00:00 2001 From: kitty Date: Sun, 22 Feb 2026 21:15:41 +1100 Subject: idea the commas for rmmod.reg registers is quite elegant i think. i hope it ends up working well --- jefs.fs | 34 ++++++++++++++++++++++------------ 1 file changed, 22 insertions(+), 12 deletions(-) (limited to 'jefs.fs') diff --git a/jefs.fs b/jefs.fs index 63c8c33..22126c8 100644 --- a/jefs.fs +++ b/jefs.fs @@ -42,19 +42,29 @@ variable modrm : rex.x rex @ 42 or rex ! ; : rex.b rex @ 41 or rex ! ; -: ax 0 ; : cx 1 ; : dx 2 ; : bx 3 ; -: sp 4 ; : bp 5 ; : si 6 ; : di 7 ; -\ at least for now, you have to differentiate these from above -\ by manually setting rex. -: r8 0 ; : r9 1 ; : r10 2 ; : r11 3 ; -: r12 4 ; : r13 5 ; : r14 6 ; : r15 7 ; -\ are there instructions that use registers but Not r/m bytes? -\ i don't actually know - +\ REGISTERS {{{ +: rax modrm @ 0 or modrm ! ; : rcx modrm @ 1 or modrm ! ; +: rdx modrm @ 2 or modrm ! ; : rbx modrm @ 3 or modrm ! ; +: rsp modrm @ 4 or modrm ! ; : rbp modrm @ 5 or modrm ! ; +: rsi modrm @ 6 or modrm ! ; : rdi modrm @ 7 or modrm ! ; +: r8 modrm @ 0 or modrm ! rex.b ; : r9 modrm @ 1 or modrm ! rex.b ; +: r10 modrm @ 2 or modrm ! rex.b ; : r11 modrm @ 3 or modrm ! rex.b ; +: r12 modrm @ 4 or modrm ! rex.b ; : r13 modrm @ 5 or modrm ! rex.b ; +: r14 modrm @ 6 or modrm ! rex.b ; : r15 modrm @ 7 or modrm ! rex.b ; + +: rax, modrm @ 00 or modrm ! ; : rcx, modrm @ 08 or modrm ! ; +: rdx, modrm @ 10 or modrm ! ; : rbx, modrm @ 18 or modrm ! ; +: rsp, modrm @ 20 or modrm ! ; : rbp, modrm @ 28 or modrm ! ; +: rsi, modrm @ 30 or modrm ! ; : rdi, modrm @ 38 or modrm ! ; +: r8, modrm @ 00 or modrm ! rex.r ; : >r9, modrm @ 08 or modrm ! rex.r ; +: r10, modrm @ 10 or modrm ! rex.r ; : >r11, modrm @ 18 or modrm ! rex.r ; +: r12, modrm @ 20 or modrm ! rex.r ; : >r13, modrm @ 28 or modrm ! rex.r ; +: r14, modrm @ 30 or modrm ! rex.r ; : >r15, modrm @ 38 or modrm ! rex.r ; +\ }}} \ example idea: (from execute below) -\ rex.w rex.r r11 rex.b r14 0 d) mov, -\ rex.w rex.r r14 rex.b r14 8 d) lea, -\ rex.b r11 call, +\ rex.w r11, r14 0 d) mov, +\ rex.w r14, r14 8 d) lea, +\ r11 call, decimal : execute [ hex -- cgit v1.2.3