Exercise 2.4の発展で、他のCPUも調べてみました。とは言っても各CPUのデータシートを追っていくのは大変ので、Cソースをコンパイルして必要なところを抜き出しています。やっていることは、a = b + 10, a = b - 50; で、10の加算と50の減算です。フラグ関係は大変そうなので追いません。
MIPS
0: 2442000a addiu v0,v0,10 4: 2442ffce addiu v0,v0,-50
Exercise 2.4のコメント欄に書いたようにadd命令になる。対応するsubi, subiuは存在しない。
SPARC
0: 82 00 60 0a add %g1, 0xa, %g1 4: 82 00 7f ce add %g1, -50, %g1
同じくadd命令に。Sun Microsystems Documentationを見ると、subに即値も使えそうだがgccはadd命令を使っている。
ARM
0: e284300a add r3, r4, #10 ; 0xa 4: e2443032 sub r3, r4, #50 ; 0x32
ARMはSUB命令有り。