Posts Issued on May 11, 2021

posted by sakurai on May 11, 2021 #399

上位モジュールの最適化

メモリダンプアルゴリズムが疑似コードにより記述できたので、最適化を実施します。以下のような処理が3回出てくるので、nibbleOutという関数にまとめます。

     lower += (lower >= 10) ? (-10 + "a") : "0";

この共通化を実施した全体の動作を疑似コードにより示します。

疑似コード

int x, y, address;
byte byteData, checksum;

address = 0;
for (y=0 to 255) {
      checksum = 0;
      for (x = 0 to 255) {
            data = memory[address++];
            checksum += data;
            nibbleOut(data);
      }
      nibbleOut(checksum>>4);
      nibbleOut(checksum);
      uart.load(LF);
}

function nibbleOut(nibble) {
      byteData = nibble + (nibble >= 10) ? (- 10 + "a") : "0";
      uart.load(byteData);
}

左矢前のブログ 次のブログ右矢