I understand that writing anything in assembly, or adding assembly to any program harms its portability. But, how bad? I mean, basically all PC\'s are x86 or x64 these days,
Besides the processor itself, there are, of course, always other considerations: what are the calling conventions on your target platform? How are struct
values passed to other (say: API) functions? Which registers may be clobbered by the callee? Which are guaranteed to be preserved for the caller? How to do a system call? What's the memory layout prepared for you by the OS upon process start?