1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- .sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text
- .sect .text
- .define dvi4~
- .extern save~,retu~
- ! $Id$
- dvi4~:
- jsr pc,save~
- mov 02(sp),r3
- sxt r4
- bpl 1f
- neg r3
- 1: cmp r4,(sp)
- bne hardldiv
- mov 06(sp),r2
- mov 04(sp),r1
- bge 2f
- neg r1
- neg r2
- sbc r1
- com r4
- 2: mov r4,-(sp)
- clr r0
- div r3,r0
- mov r0,-(sp)
- mov r1,r0
- mov r1,r4
- mov r2,r1
- div r3,r0
- bvc 3f
- mov r2,r1
- mov r4,r0
- sub r3,r0
- div r3,r0
- tst r1
- sxt r1
- add r1,r0
- 3: mov r0,r1
- mov (sp)+,r0
- br 4f
- hardldiv:
- clr -(sp)
- mov 010(sp),r2
- mov 06(sp),r1
- bpl 5f
- com (sp)
- neg r1
- neg r2
- sbc r1
- 5: clr r0
- mov 02(sp),r3
- bge 6f
- neg r3
- neg 04(sp)
- sbc r3
- com (sp)
- 6: mov $16,r4
- 9: clc
- rol r2
- rol r1
- rol r0
- cmp r3,r0
- bhi 7f
- bcs 8f
- cmp 04(sp),r1
- blos 8f
- 7: sob r4,9b
- br 1f
- 8: sub 04(sp),r1
- sbc r0
- sub r3,r0
- inc r2
- sob r4,9b
- 1:
- mov r2,r1
- clr r0
- 4: tst (sp)+
- beq 1f
- neg r0
- neg r1
- sbc r0
- 1: add $010,sp
- jmp retu~
|