Loongson CPU that performs like 2020 Core i3 makes its way to Chinese mini PCs
theregister.com
theregister.com
Reasons: - practically every developer who is remotely interested in assembly programming knows the x86 basics and most experts have a better knowledge of x86 than other architectures with the possible exception of ARM
- x86 is very hard for the hardware implementation, for the programmer (especially with the x86-64 improvements) is not bad at all. Its bigger defects are variable instruction length, something that has no impact on coding, and tge amount of legacy stuff that exists mostly for backward compatibility (e.g. x87, enter/leave, bcd instructions, hw task switching, segments, real mode and v86 mode, etc.) and are just being ignored by programmers as stuff that is now irrelevant if they have not been removed from 64bit long mode at all.
- I don't know modern MIPS, but the MIPS architectures of the past were not programming friendly at all, with stuff like delayed slots (basically instructions that are executed even if the code branched somewhere else), heavy reliance on the compiler to provide perfect instruction order, etc
There are long and short JMP instructions that your assembler can possibly choose between depending on how far away the target is. Now, changing a JMP from short to long can change the length between another JMP and the target. Assemblers have different levels of intelligence for this situation: I programmed a lot of assembly for the 80286 (not protected mode but I used all the instructions that would speed up real mode) in the late 1980s and since we were working with little space a good assembler would try assembling the program multiple times until it got a consistent solution for what kind of JMP to use where.
Read: easier for software tools to write the assembly code for you.