flat assembler
Message board for the users of flat assembler.
![]() |
Author |
|
Roman 18 Oct 2025, 06:35
I do this variant and this working fine, but its look ugly.
Code: macro xmDefV4 name { match =0,xmmn \{ name equ xmm0 \} match =1,xmmn \{ name equ xmm1 \} match =2,xmmn \{ name equ xmm2 \} match =3,xmmn \{ name equ xmm3 \} match =4,xmmn \{ name equ [tmpv4@xmm@buf+0*16] \} match =5,xmmn \{ name equ [tmpv4@xmm@buf+1*16] \} match =6,xmmn \{ name equ [tmpv4@xmm@buf+2*16] \} match =7,xmmn \{ name equ [tmpv4@xmm@buf+3*16] \} match =8,xmmn \{ name equ [tmpv4@xmm@buf+4*16] \} match =9,xmmn \{ name equ [tmpv4@xmm@buf+5*16] \} match =10,xmmn \{ name equ [tmpv4@xmm@buf+6*16] \} match =11,xmmn \{ name equ [tmpv4@xmm@buf+7*16] \} } ;in code xmmn equ 0 xmDefV4 def1 addss xmm2,def1 ;get addss xmm2,xmm0 xmmn equ 5 xmDefV4 def2 addss xmm2,def2 ;get addss xmm2,[tmpv4@xmm@buf+1*16] |
|||
![]() |
|
Roman 18 Oct 2025, 07:24
I rewrite macro
Code: macro ifmatch name,a,[b,c] { match =b,xmmn \{ name equ [a+c*16] \} } macro xmDefV4 name { ;match =0,xmmn \{ name equ xmm0 \} ;match =1,xmmn \{ name equ xmm1 \} ;match =2,xmmn \{ name equ xmm2 \} ;match =3,xmmn \{ name equ xmm3 \} rept 4 j:0 \{ match =j,xmmn \\{ name equ xmm\#\j \\} \} rept 16 h:4, j:0 \{ ifmatch name,tmpv4@xmm@buf,h,j \} } |
|||
![]() |
|
< Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2025, Tomasz Grysztar. Also on GitHub, YouTube.
Website powered by rwasa.