; 
; 	*= 0x100
; 
; @flecha: byte " -> "
 0x0100 0x20
 0x0101 0x2d
 0x0102 0x3e
 0x0103 0x20
 0x0104 0x00
; @hanoi:
; 	@n= -6
; 	@a= -8
; 	@b= -10
; 	@c= -12
; 	psh bp
 0x0105 0x52
; 	lbp sp
 0x0106 0x71
; 
; 	lda [bp+@n]
 0x0107 0x45
 0x0108 0xfa
 0x0109 0xff
; 	tst
 0x010a 0x24
; 	jeq @1
 0x010b 0x30
 0x010c 0x68
 0x010d 0x01
; 		; hanoi(n-1,a,b,c)
; 		lda [bp+@b]
 0x010e 0x45
 0x010f 0xf6
 0x0110 0xff
; 		psh a
 0x0111 0x50
; 		lda [bp+@c]
 0x0112 0x45
 0x0113 0xf4
 0x0114 0xff
; 		psh a
 0x0115 0x50
; 		lda [bp+@a]
 0x0116 0x45
 0x0117 0xf8
 0x0118 0xff
; 		psh a
 0x0119 0x50
; 		lda [bp+@n]
 0x011a 0x45
 0x011b 0xfa
 0x011c 0xff
; 		psh a
 0x011d 0x50
; 		lda #1
 0x011e 0x42
 0x011f 0x01
 0x0120 0x00
; 		sub
 0x0121 0x11
; 		psh a
 0x0122 0x50
; 		jsr @hanoi
 0x0123 0x3a
 0x0124 0x05
 0x0125 0x01
; 		pop 8	;  4 parametros de 2 bytes
 0x0126 0x63
 0x0127 0x08
 0x0128 0x00
; 
; 		lda [bp+@n] 	;  print  n  a->b
 0x0129 0x45
 0x012a 0xfa
 0x012b 0xff
; 		irq pr_int
 0x012c 0x3d
 0x012d 0x01
 0x012e 0x00
; 		lda #' '
 0x012f 0x42
 0x0130 0x20
 0x0131 0x00
; 		irq pr_chr
 0x0132 0x3d
 0x0133 0x05
 0x0134 0x00
; 		lda [bp+@a]
 0x0135 0x45
 0x0136 0xf8
 0x0137 0xff
; 		irq pr_chr
 0x0138 0x3d
 0x0139 0x05
 0x013a 0x00
; 		lea @flecha
 0x013b 0x80
 0x013c 0x00
 0x013d 0x01
; 		irq pr_str
 0x013e 0x3d
 0x013f 0x02
 0x0140 0x00
; 		lda [bp+@b]
 0x0141 0x45
 0x0142 0xf6
 0x0143 0xff
; 		irq pr_chr
 0x0144 0x3d
 0x0145 0x05
 0x0146 0x00
; 		lda #'\n'
 0x0147 0x42
 0x0148 0x0a
 0x0149 0x00
; 		irq pr_chr
 0x014a 0x3d
 0x014b 0x05
 0x014c 0x00
; 
; 		; hanoi(n-1,c,b,a)
; 		lda [bp+@a]
 0x014d 0x45
 0x014e 0xf8
 0x014f 0xff
; 		psh a
 0x0150 0x50
; 		lda [bp+@b]
 0x0151 0x45
 0x0152 0xf6
 0x0153 0xff
; 		psh a
 0x0154 0x50
; 		lda [bp+@c]
 0x0155 0x45
 0x0156 0xf4
 0x0157 0xff
; 		psh a
 0x0158 0x50
; 		lda [bp+@n]
 0x0159 0x45
 0x015a 0xfa
 0x015b 0xff
; 		psh a
 0x015c 0x50
; 		lda #1
 0x015d 0x42
 0x015e 0x01
 0x015f 0x00
; 		sub
 0x0160 0x11
; 		psh a
 0x0161 0x50
; 		jsr @hanoi
 0x0162 0x3a
 0x0163 0x05
 0x0164 0x01
; 		pop 8	;  4 parametros de 2 bytes
 0x0165 0x63
 0x0166 0x08
 0x0167 0x00
; 
; @1:
; 		lsp bp
 0x0168 0x79
; 		pop bp
 0x0169 0x62
; 		rtn
 0x016a 0x3c
; 
; @main:
; 	psh bp
 0x016b 0x52
; 	lbp sp
 0x016c 0x71
; 
; 	lda # 'c'
 0x016d 0x42
 0x016e 0x63
 0x016f 0x00
; 	psh a
 0x0170 0x50
; 		
; 	lda # 'b'
 0x0171 0x42
 0x0172 0x62
 0x0173 0x00
; 	psh a
 0x0174 0x50
; 
; 	lda # 'a'
 0x0175 0x42
 0x0176 0x61
 0x0177 0x00
; 	psh a
 0x0178 0x50
; 
; 	lda # 3
 0x0179 0x42
 0x017a 0x03
 0x017b 0x00
; 	psh a
 0x017c 0x50
; 
; 	jsr @hanoi
 0x017d 0x3a
 0x017e 0x05
 0x017f 0x01
; 	pop 8
 0x0180 0x63
 0x0181 0x08
 0x0182 0x00
; 
; 	lsp bp
 0x0183 0x79
; 	pop bp
 0x0184 0x62
; 	rtn
 0x0185 0x3c
; 
; @pila:
; 	end @main, @pila
< 0x016b 0x0186
; 
