ack/mach/pdp/libem/rmi4.s

78 lines
848 B
ArmAsm
Raw Normal View History

1987-05-15 09:11:10 +00:00
.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text
.sect .text
.define rmi4~
.extern save~,retu~
1994-06-24 14:02:31 +00:00
! $Id$
1984-07-19 12:51:00 +00:00
rmi4~:
jsr pc,save~
mov 02(sp),r3
sxt r4
bpl 1f
neg r3
1: cmp r4,(sp)
bne hardrmi4
mov 06(sp),r2
mov 04(sp),r1
mov r1,r4
bge 2f
neg r1
neg r2
sbc r1
2: mov r4,-(sp)
clr r0
div r3,r0
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
beq 3f
add r3,r1
3: tst (sp)+
bpl 4f
neg r1
4: sxt r0
br 9f
hardrmi4:
mov 06(sp),r2
mov 04(sp),r1
bpl 5f
neg r1
neg r2
sbc r1
5: clr r0
mov (sp),r3
bge 6f
neg r3
neg 02(sp)
sbc r3
6: mov $16,r4
1984-07-19 12:51:00 +00:00
1: clc
rol r2
rol r1
rol r0
cmp r3,r0
bhi 7f
bcs 8f
cmp 02(sp),r1
blos 8f
7: sob r4,1b
br 2f
8: sub 02(sp),r1
sbc r0
sub r3,r0
sob r4,1b
2: tst 04(sp)
bge 9f
neg r0
neg r1
sbc r0
9: add $010,sp
jmp retu~