Oxygen Basic
Information => Development => Topic started by: Brian Alvarez on December 26, 2018, 06:26:57 PM
-
Charles, do you by any chance have a list of supported mnemonics and registers for both 32bit and 64 bit compilations?
I have currently implemented my list but i would like to make sure my list is correct. :)
-
Hi Brian,
I don't have a coherent list, other than the codings embedded in assm.inc.
o2 currently supports extensions up to SSE4.2
A good reference:
https://en.wikipedia.org/wiki/X86_instruction_listings
A Listing of registers from lang.inc
string x86_registers="
' regsize regno regtype
al 10 101
cl 10 111
dl 10 121
bl 10 131
ah 10 141
ch 10 151
dh 10 161
bh 10 171
'---------------------------
ax 10 201
cx 10 211
dx 10 221
bx 10 231
sp 10 241
bp 10 251
si 10 261
di 10 271
'---------------------------
eax 10 401
ecx 10 411
edx 10 421
ebx 10 431
esp 10 441
ebp 10 451
esi 10 461
edi 10 471
'---------------------------
st0 10 A02
st1 10 A12
st2 10 A22
st3 10 A32
st4 10 A42
st5 10 A52
st6 10 A62
st7 10 A72
'---------------------------
mmx0 10 F03
mmx1 10 F13
mmx2 10 F23
mmx3 10 F33
mmx4 10 F43
mmx5 10 F53
mmx6 10 F63
mmx7 10 F73
'---------------------------
xmm0 10 F04
xmm1 10 F14
xmm2 10 F24
xmm3 10 F34
xmm4 10 F44
xmm5 10 F54
xmm6 10 F64
xmm7 10 F74
xmm8 10 F84
xmm9 10 F94
xmm10 10 FA4
xmm11 10 FB4
xmm12 10 FC4
xmm13 10 FD4
xmm14 10 FE4
xmm15 10 FF4
'---------------------------
cr0 10 405 '129
cr2 10 415
cr3 10 425
cr4 10 435
'---------------------------
dr0 10 406 '130
dr1 10 416
dr2 10 426
dr3 10 436
dr4 10 446
dr5 10 456
dr6 10 466
dr7 10 476
'---------------------------
es 10 407'131
cs 10 417
ss 10 427
ds 10 437
fs 10 447
gs 10 457
'---------------------------
'64 bit mode registers
'---------------------------
rax 10 809
rcx 10 819
rdx 10 829
rbx 10 839
rsp 10 849
rbp 10 859
rsi 10 869
rdi 10 879
r8 10 889
r9 10 899
r10 10 8A9
r11 10 8B9
r12 10 8C9
r13 10 8D9
r14 10 8E9
r15 10 8F9
'---------------------------
r8l 10 489
r9l 10 499
r10l 10 4A9
r11l 10 4B9
r12l 10 4C9
r13l 10 4D9
r14l 10 4E9
r15l 10 4F9
'---------------------------
r8w 10 289
r9w 10 299
r10w 10 2A9
r11w 10 2B9
r12w 10 2C9
r13w 10 2D9
r14w 10 2E9
r15w 10 2F9
'---------------------------
r8d 10 489
r9d 10 499
r10d 10 4A9
r11d 10 4B9
r12d 10 4C9
r13d 10 4D9
r14d 10 4E9
r15d 10 4F9
"
'end of data x86 registers
-
That pretty much looks like my list as well. Most likely my list is correct. I will verify everything tomorrow, as in my tests assembly works fine. :)
Thanks Charles.