1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- | Warning: This routine has the attribute __ATTR_TIOS_CALLBACK__!
- .data
- .xdef fputchar
- .even
- fputchar:
- link.w %a6,#-20
- movem.l %d3-%d7/%a2-%a5,-(%sp)
- clr.w %d0
- move.b (%a6,9),%d6
- move.l 0xC8,%a5
- move.l (%a5,1592),%a0
- jsr (%a0)
- move.w %d0,%d4
- lsl.w #1,%d4
- addq.w #6,%d4
- move.l (%a5,188),%a3
- pea (%a6,-18)
- move.l (%a5,1664),%a0
- jsr (%a0)
- move.w (%a6,-8),%d5
- move.w (%a6,-6),%d3
- move.w %d6,-(%sp)
- move.l (%a5,1600),%a0
- jsr (%a0)
- move.w %d0,%d7
- cmp.b #10,%d6
- jbeq .L__fputchar_1
- move.w %d5,%d0
- add.w %d7,%d0
- clr.w %d1
- move.b (%a3,2),%d1
- cmp.w %d0,%d1
- jbge .L__fputchar_2
- .L__fputchar_1:
- clr.w %d5
- add.w %d4,%d3
- .L__fputchar_2:
- move.w %d3,%d0
- add.w %d4,%d0
- clr.w %d1
- move.b (%a3,3),%d1
- cmp.w %d0,%d1
- jbge .L__fputchar_3
- clr.w (%sp)
- move.w %d4,-(%sp)
- move.l %a3,-(%sp)
- move.l %a3,-(%sp)
- move.l (%a5,1580),%a0
- jsr (%a0)
- sub.w %d4,%d3
- .L__fputchar_3:
- move.w #4,(%sp)
- move.w %d6,-(%sp)
- move.w %d3,-(%sp)
- move.w %d5,-(%sp)
- cmp.b #10,%d6
- jbeq .L__fputchar_4
- move.l (%a5,1680),%a0
- jsr (%a0)
- add.w %d7,(%sp)
- .L__fputchar_4:
- move.l (%a5,1652),%a0
- jsr (%a0)
- move.w %d6,%d0
- movm.l -56(%a6),%d3-%d7/%a2-%a5
- unlk %a6
- rts
|