Mixed C-and-assembly codebases are the norm in systems software: glibc's syscall stubs, OpenSSL's AES-NI paths, ffmpeg's SIMD kernels, and the Linux kernel's context switch are all assembly called from C. The ABI discipline you practice here — clobbers, alignment, symbol naming — is exactly what makes those hybrids link and run.