Franks version
authorceriel <none@none>
Fri, 27 Mar 1987 10:05:53 +0000 (10:05 +0000)
committerceriel <none@none>
Fri, 27 Mar 1987 10:05:53 +0000 (10:05 +0000)
mach/m68k4/libem/shp.s

index a4be673..3838238 100644 (file)
@@ -6,19 +6,22 @@
 
        .sect .text
 .strhp:
-       move.l  (sp)+,a0
-       move.l  (sp)+,d0        ! heap pointer
-       move.l  d0,.reghp
-       cmp.l   .limhp,d0
+       move.l  4(sp), d1       ! new heap pointer
+       cmp.l   .limhp, d1
        blt     1f
-       add.l   #0x400,d0
-       and.l   #~0x3ff,d0
-       move.l  d0,.limhp
-       cmp.l   d0,sp
-       ble     2f
+       add.l   #0x400, d1
+       and.l   #~0x3ff, d1
+       move.l  d1, .limhp
+       move.l  d1, -(sp)
+       jsr     _brk            ! allocate 1K bytes of extra storage
+       add.l   #4, sp
+       bcs     2f
 1:
-       jmp     (a0)
+       move.l  4(sp), .reghp   ! store new value of heap pointer
+       move.l  (sp)+,a0
+       move.l  a0,(sp)
+       rts
 2:
-       move.w  #EHEAP,-(sp)
-       jmp     .fat
+       move.l  #EHEAP, -(sp)
+       jmp     .fatal
 .align 2