-1

16ビットの数値を10進数に変換して、4つのLEDディスプレイに表示しています。

16 ビット値が 1000 より大きいかどうかを確認したい。現在、これを実装していますが、正しい値が出力されない場合があり、その理由がわかりません。

  ;s2 is MSB and s3 LSB 
  minus_100_hbyte:;Minus one hundred
           COMP s2, $01 
       JUMP C, minus_100

    ADD s6, $01 ;increment 100 counter
        SUB s3, $64 ;100 in decimal
        SUBC s2,  $00

        JUMP minus_100_hbyte

   minus_100:;Minus one hundred
           COMP s3, $64
       JUMP C, minus10

       ADD s6, $01 ;increment 100 counter
           SUB s3, $64
           SUBC s2,  $00

           JUMP minus_100
4

1 に答える 1