ルネサスH8/16bitシリーズで、引数(R0L)のbitを2つずつ並べた16bitにしてワードで返す関数
書こうとおもったら、トンデモコードを吐かれてしまった。BLDとBSTだけでいいのに、こんなの:
  word.BIT.BD = byte.BIT.B6;
   SUB.B  R1H,R1H
   BLD.B  #6,R1L
   BST.B  #0,R1H
   MOV.B  R1H,R2L
   BLD.B  #0,R2L
   BST.B  #5,R0H
BLDしたbitをゼロのバイトのLSBに入れて、そのバイトを別のバイトに移して、そのLSBから
BLDして、目的の位置へBSTしてるの。もうね、お前アホかと・・・

結局R0上だけで移すASM書きました。BLD,BST,BSTが8回。表引きのが実行速いのは
判りますが、0xXXXXを256個書くのもめんどう<--こっちも用意しておいたほうがいいかも。