JH7PYU/大内さんからの投稿です。 ******************************************************************************* LCD表示周波数=DDS発振周波数−IF周波数 を簡単に実現する プログラムとデータについてです。 方法としては、周波数の設定を-にして設定します。 それと、プログラムの一箇所をコメントアウトします。 (桁上がりの処理に関する部分です。) -(マイナス)データのつくり方ですが、 パソコンの電卓で-12283410  (10進数)を入力し (16進)に変換します。FFFFFFFFFF4491EE のように出るので、下位8桁のみ 使用します。 ; (B)LCD表示周波数=DDS発振周波数−IF周波数 * 例 DDS周波数 19283410HZ      IF周波数 12283410HZ 7000000HZ --------------------------------------------------------------------------- [周波数データ] ;VFO(A)(B)のスタ−ト周波数を同じにする。 * ;VFO(A)=AVFO_TMP(0-3) * ; 19283410 1263DD2 AVFO_TMP3=#0x01;[MSB] 例えば、9.0MHzの場合。    * AVFO_TMP2=#0x26; |   16進数で表すと    * AVFO_TMP1=#0x3D; |      9000000->895440h   * AVFO_TMP0=#0xD2;[LSB]          となります。  * ; -12283410 FF4491EE IF_SET3=#0xFF;[MSB] * IF_SET2=#0x44; |    * IF_SET1=#0x91; |      * IF_SET0=#0xEE;[LSB]           * [ASMの方の変更点] --------------------------------------------------------- #lbl ADD32;************************************** ; 32bitの加算(8bitx4のデ−タ処理) * ; SUM=A+B の形です。 * ; 使用するレジスタ:SUM(8),レジスタA(8),B(8) * ;       BUFF4(8) * ;************************************************ SUM0 = #0;[LSB] SUM1 = #0; | 各レジスタをクリアする。 SUM2 = #0; | SUM3 = #0;[MSB] ;'BUFF4'は桁上げ(キャリ−)処理のフラグに使用。 ;以下表示で 'BUFF4.0'は、BUFF4レジスタの0番目のビットを表す。 BUFF4=#0 SUM0 = VFO_SET0 + IF_SET0 if(CARY == #1) BUFF4.0 =#1; 桁上げの場合のフラグ処理。 SUM1 = VFO_SET1 + IF_SET1 if(CARY == #1) BUFF4.1 =#1 SUM2 = VFO_SET2 + IF_SET2 if(CARY == #1) BUFF4.2 =#1 SUM3 = VFO_SET3 + IF_SET3 ; if(CARY == #1) BUFF4.2 =#1 ; <<<<<コメントアウト 大内 ;桁上げ処理 --------------------------------------------------------------