---
# step-by-step
12: 0 0 MoveA {mode = Long, src = Immediate 8, dst = DirectAddrReg A7} @_start
18: 0 8 MoveA {mode = Long, src = IndirectAddrReg 0 A7 Nothing, dst = DirectAddrReg A7}
22: 0 512 MoveA {mode = Long, src = Immediate 0, dst = DirectAddrReg A0}
28: 0 512 MoveA {mode = Long, src = IndirectAddrReg 0 A0 Nothing, dst = DirectAddrReg A0}
32: 0 512 MoveA {mode = Long, src = Immediate 4, dst = DirectAddrReg A1}
38: 0 512 MoveA {mode = Long, src = IndirectAddrReg 0 A1 Nothing, dst = DirectAddrReg A1}
42: 0 512 Move {mode = Long, src = IndirectAddrReg 0 A0 Nothing, dst = DirectDataReg D0}
46: 5 512 Jsr {ref = 58}
58: 5 508 Cmp {mode = Long, src = Immediate 1, dst = DirectDataReg D0} @factorial
64: 5 508 Ble {ref = 90}
70: 5 508 Move {mode = Long, src = DirectDataReg D0, dst = IndirectAddrRegPreDecrement A7}
72: 5 504 Sub {mode = Long, src = Immediate 1, dst = DirectDataReg D0}
78: 4 504 Jsr {ref = 58}
58: 4 500 Cmp {mode = Long, src = Immediate 1, dst = DirectDataReg D0} @factorial
64: 4 500 Ble {ref = 90}
70: 4 500 Move {mode = Long, src = DirectDataReg D0, dst = IndirectAddrRegPreDecrement A7}
72: 4 496 Sub {mode = Long, src = Immediate 1, dst = DirectDataReg D0}
78: 3 496 Jsr {ref = 58}
58: 3 492 Cmp {mode = Long, src = Immediate 1, dst = DirectDataReg D0} @factorial
64: 3 492 Ble {ref = 90}
70: 3 492 Move {mode = Long, src = DirectDataReg D0, dst = IndirectAddrRegPreDecrement A7}
72: 3 488 Sub {mode = Long, src = Immediate 1, dst = DirectDataReg D0}
78: 2 488 Jsr {ref = 58}
58: 2 484 Cmp {mode = Long, src = Immediate 1, dst = DirectDataReg D0} @factorial
64: 2 484 Ble {ref = 90}
70: 2 484 Move {mode = Long, src = DirectDataReg D0, dst = IndirectAddrRegPreDecrement A7}
72: 2 480 Sub {mode = Long, src = Immediate 1, dst = DirectDataReg D0}
78: 1 480 Jsr {ref = 58}
58: 1 476 Cmp {mode = Long, src = Immediate 1, dst = DirectDataReg D0} @factorial
64: 1 476 Ble {ref = 90}
90: 1 476 Move {mode = Long, src = Immediate 1, dst = DirectDataReg D0} @base_case
96: 1 476 Rts
84: 1 480 Move {mode = Long, src = IndirectAddrRegPostIncrement A7, dst = DirectDataReg D1}
86: 1 484 Mul {mode = Long, src = DirectDataReg D1, dst = DirectDataReg D0}
88: 2 484 Rts
84: 2 488 Move {mode = Long, src = IndirectAddrRegPostIncrement A7, dst = DirectDataReg D1}
86: 2 492 Mul {mode = Long, src = DirectDataReg D1, dst = DirectDataReg D0}
88: 6 492 Rts
84: 6 496 Move {mode = Long, src = IndirectAddrRegPostIncrement A7, dst = DirectDataReg D1}
86: 6 500 Mul {mode = Long, src = DirectDataReg D1, dst = DirectDataReg D0}
88: 24 500 Rts
84: 24 504 Move {mode = Long, src = IndirectAddrRegPostIncrement A7, dst = DirectDataReg D1}
86: 24 508 Mul {mode = Long, src = DirectDataReg D1, dst = DirectDataReg D0}
88: 120 508 Rts
52: 120 512 Move {mode = Long, src = DirectDataReg D0, dst = IndirectAddrReg 0 A1 Nothing}
56: 120 512 Halt
---
# result
numio[0x80]: [] >>> []
numio[0x84]: [] >>> [120]
/* comment */