8086 の例を参考に 68000 のフィボナッチ数列の例を変換した結果にコメントを追加します。「JSR OUTPUT」で数値を出力できるものとします。
『【電子復刻版】bit 1984年07月号(通巻185号)』に「68000の命令セット」という記事があるのでこれも参考になるかもしれません。
; フィボナッチ数列 MOVE.L #10, -(A7) MOVE.L (A7)+, VAR_N ; N = 10 MOVE.L #1, -(A7) MOVE.L (A7)+, VAR_I ; I = 1 MOVE.L #1, -(A7) MOVE.L (A7)+, VAR_A ; A = 1 MOVE.L #1, -(A7) MOVE.L (A7)+, VAR_B ; B = 1 LABEL_100: MOVE.L VAR_A, -(A7) JSR OUTPUT ; A を出力 MOVE.L VAR_B, -(A7) MOVE.L (A7)+, VAR_T ; T = B MOVE.L VAR_A, -(A7) MOVE.L VAR_B, -(A7) MOVE.L (A7)+, D0 MOVE.L (A7)+, D1 ADD.L D0, D1 MOVE.L D1, -(A7) MOVE.L (A7)+, VAR_B ; B = A + B MOVE.L VAR_T, -(A7) MOVE.L (A7)+, VAR_A ; A = T MOVE.L VAR_I, -(A7) MOVE.L #1, -(A7) MOVE.L (A7)+, D0 MOVE.L (A7)+, D1 ADD.L D0, D1 MOVE.L D1, -(A7) MOVE.L (A7)+, VAR_I ; I = I + 1 MOVE.L VAR_I, -(A7) MOVE.L VAR_N, -(A7) MOVE.L (A7)+, D0 ; D0 = N MOVE.L (A7)+, D1 ; D1 = I CMP.L D0, D1 ; I と N を比較 BLE LABEL_TRUE_0 ; I <= N のとき LABEL_TRUE_0 へ MOVE.L #0, -(A7) ; I - N <= 0 ではないときスタックに 0 を PUSH BRA LABEL_END_0 ; LABEL_END_0 へ LABEL_TRUE_0: MOVE.L #1, -(A7) ; I - N <= 0 のときスタックに 1 を PUSH LABEL_END_0: MOVE.L (A7)+, D0 TST.L D0 ; D0 が 0 かどうかを調べる BNE LABEL_100 ; I - N <= 0 のとき LABEL_100 へ ; 本来はここで終了 SECTION DATA VAR_N: DC.L 0 VAR_A: DC.L 0 VAR_I: DC.L 0 VAR_B: DC.L 0 VAR_T: DC.L 0
良さそうです。










