The beautiful of programming is that you can do the same thing in many ways, and you can choose the one that you like best.
AT&T syntax, for GCC compilers, is the most classic way (https://gcc.gnu.org/onlinedocs/gcc/Extended-Asm.html).
Intel syntax is more common in Microsoft CL compilers (https://docs.microsoft.com/it-it/cpp/assembler/inline/writing-functions-with-inline-assembly?view=vs-2019).
That's because you don't follow the inline Assembly syntax. You cannot directly use the c variables in assembly (plus, they most likely won't have the same name)
Here is a working implementation: