2:
move.l d2,-(sp)
pea fmt
- jsr _printf
+ jsr printf
add #10,sp
- jmp _printf
+ jmp printf
1:
move.l #unknwn,d2
bra 2b
+.sect .text
+putchar:
+ move.w #1,-(sp)
+ pea 7(sp)
+ move.w #1,-(sp)
+ jsr _write
+ add.l #8,sp
+ rts
+printf:
+ link a6,#-12
+.sect .data
+_12:
+ .data2 28786
+ .data2 26990
+ .data2 29798
+ .data2 11875
+ .data2 0
+.sect .text
+ pea 8+4(a6)
+ move.l (sp)+,-6(a6)
+I004:
+ move.l 8+0(a6),-(sp)
+ move.l (sp),-(sp)
+ move.l (sp)+,a0
+ add #1,a0
+ move.l a0,-(sp)
+ move.l (sp)+,8+0(a6)
+ move.l (sp)+,a0
+ clr d0
+ move.b (a0),d0
+ move.w d0,-(sp)
+ move.w (sp),-(sp)
+ move.w (sp)+,-2(a6)
+ move.w #37,-(sp)
+ move.w (sp)+,d0
+ cmp (sp)+,d0
+ beq I005
+ move.w -2(a6),-(sp)
+ tst (sp)+
+ beq I002
+ move.w -2(a6),-(sp)
+ jsr putchar
+ add #2,sp
+ jmp I004
+I005:
+ move.l 8+0(a6),-(sp)
+ move.l (sp),-(sp)
+ move.l (sp)+,a0
+ add #1,a0
+ move.l a0,-(sp)
+ move.l (sp)+,8+0(a6)
+ move.l (sp)+,a0
+ clr d0
+ move.b (a0),d0
+ move.w d0,-(sp)
+ move.w (sp)+,-2(a6)
+ move.w -2(a6),-(sp)
+ move.w #100,-(sp)
+ move.w (sp)+,d0
+ cmp (sp)+,d0
+ beq I008
+ move.w -2(a6),-(sp)
+ move.w #117,-(sp)
+ move.w (sp)+,d0
+ cmp (sp)+,d0
+ bne I007
+I008:
+ move.l -6(a6),-(sp)
+ move.l (sp)+,a0
+ add #2,a0
+ move.l a0,-(sp)
+ move.l (sp),-(sp)
+ move.l (sp)+,-6(a6)
+ move.l (sp)+,a0
+ move.w -2(a0),-(sp)
+ move.w (sp)+,-8(a6)
+ move.w -2(a6),-(sp)
+ move.w #100,-(sp)
+ move.w (sp)+,d0
+ cmp (sp)+,d0
+ bne I009
+ move.w -8(a6),-(sp)
+ tst (sp)+
+ bge I009
+ move.w #0,-(sp)
+ move.w -8(a6),-(sp)
+ move.w (sp)+,d0
+ move.w (sp)+,d1
+ sub d0,d1
+ move.w d1,-(sp)
+ move.w (sp)+,-8(a6)
+ move.w #45,-(sp)
+ jsr putchar
+ add #2,sp
+I009:
+ move.w -8(a6),-(sp)
+ jsr printn
+ add #2,sp
+ jmp I004
+I007:
+ move.w -2(a6),-(sp)
+ move.w #115,-(sp)
+ move.w (sp)+,d0
+ cmp (sp)+,d0
+ bne I004
+ move.l -6(a6),-(sp)
+ move.l (sp)+,a0
+ add #4,a0
+ move.l a0,-(sp)
+ move.l (sp),-(sp)
+ move.l (sp)+,-6(a6)
+ move.l (sp)+,a0
+ move.l -4(a0),-(sp)
+ move.l (sp)+,-12(a6)
+I00c:
+ move.l -12(a6),-(sp)
+ move.l (sp),-(sp)
+ move.l (sp)+,a0
+ add #1,a0
+ move.l a0,-(sp)
+ move.l (sp)+,-12(a6)
+ move.l (sp)+,a0
+ clr d0
+ move.b (a0),d0
+ move.w d0,-(sp)
+ move.w (sp),-(sp)
+ move.w (sp)+,-2(a6)
+ tst (sp)+
+ beq I004
+ move.w -2(a6),-(sp)
+ jsr putchar
+ add #2,sp
+ jmp I00c
+I002:
+ unlk a6
+ rts
+printn:
+ link a6,#-2
+.sect .data
+_15:
+ .data2 12337
+ .data2 12851
+ .data2 13365
+ .data2 13879
+ .data2 14393
+ .data2 0
+.sect .text
+ move.w 8+0(a6),-(sp)
+ move.w #10,-(sp)
+ move.w (sp)+,d0
+ clr.l d1
+ move.w (sp)+,d1
+ divu d0,d1
+ move.w d1,-(sp)
+ move.w (sp),-(sp)
+ move.w (sp)+,-2(a6)
+ tst (sp)+
+ beq I013
+ move.w -2(a6),-(sp)
+ jsr printn
+ add #2,sp
+I013:
+ pea _15
+ move.w 8+0(a6),-(sp)
+ move.w #10,-(sp)
+ move.w (sp)+,d0
+ clr.l d1
+ move.w (sp)+,d1
+ divu d0,d1
+ swap d1
+ move.w d1,-(sp)
+ move.w (sp)+,d0
+ ext.l d0
+ add.l (sp)+,d0
+ move.l d0,-(sp)
+ move.l (sp)+,a0
+ clr d0
+ move.b (a0),d0
+ move.w d0,-(sp)
+ jsr putchar
+ add #2,sp
+ unlk a6
+ rts
.sect .data
fmt: .asciz "%s, line %d: "
unknwn: .asciz "unknown file"