; multiplies A by 40 and returns result in AX
; uses tmp4
- .importzp tmp4
- .export mul40
+ .importzp tmp4
+ .export mul40
-.proc mul40
+.proc mul40
- ldx #0
- stx tmp4
- sta loc_tmp
- asl a
- rol tmp4
- asl a
- rol tmp4 ; val * 4
- adc loc_tmp
- bcc L1
- inc tmp4 ; val * 5
-L1: asl a
- rol tmp4 ; val * 10
- asl a
- rol tmp4
- asl a
- rol tmp4 ; val * 40
- ldx tmp4
- rts
+ ldx #0
+ stx tmp4
+ sta loc_tmp
+ asl a
+ rol tmp4
+ asl a
+ rol tmp4 ; val * 4
+ adc loc_tmp
+ bcc L1
+ inc tmp4 ; val * 5
+L1: asl a
+ rol tmp4 ; val * 10
+ asl a
+ rol tmp4
+ asl a
+ rol tmp4 ; val * 40
+ ldx tmp4
+ rts
.endproc
- .bss
-loc_tmp:.res 1
+ .bss
+loc_tmp:.res 1