having to code anything in assembler is a significant sign of failure:
if it's on a general-puprose processor, we have failed to educate processor 
designers;
if it's on (say) a DSP, it's a bit of a mixture of that and people thinking that
language design stopped with C, so the language provides too little scope for a 
compiler sensibly to do the work.

as a small example of the first case, there are special device control 
registers on some
models of the power pc. these are essential for IO but require special 
instructions to access
them (even though the same devices often have memory-mapped IO space
as well). worse, the register (device) address is part of the instruction,
not an operand. (it's the same fault as the old SPARC's mmu control 
instructions.)
only recently has an instruction been added that allows the device register 
number
to be taken from a general-purpose register, but that seems mainly to have been
added because they'd run out of address space in the instruction.
stunning (in every sense).   i pick on that one because the DCRs were ADDED 
relatively late
in the powerpc history.  perhaps it was just a form of mid-life crisis.

Reply via email to