ceriel 34 лет назад
Родитель
Сommit
6afec88cbb
4 измененных файлов с 18 добавлено и 21 удалено
  1. 11 1
      mach/xenix3/libsys/_brk.s
  2. 5 0
      mach/xenix3/libsys/_sbrk.s
  3. 1 2
      mach/xenix3/libsys/brk.s
  4. 1 18
      mach/xenix3/libsys/sbrk.s

+ 11 - 1
mach/xenix3/libsys/_brk.s

@@ -3,4 +3,14 @@
 .sect .text
 __brk:
 	mov	ax,17
-	jmp	sysal
+	push	bp
+	mov	bp,sp
+	mov	bx,4(bp)
+	call	syscal
+	mov	dx,bx
+	pop	bp
+	jb	cerror
+	mov	bx,sp
+	mov	dx,2(bx)
+	mov	(.limhp),dx
+	ret

+ 5 - 0
mach/xenix3/libsys/_sbrk.s

@@ -13,6 +13,11 @@ __sbrk:
 	push	ax
 	call	__brkctl
 	add	sp,8
+	cmp	ax,-1
+	je	1f
+1:
+	mov	dx,4(bp)
+	add	(.limhp),dx
 	pop	bp
 	ret
 

+ 1 - 2
mach/xenix3/libsys/brk.s

@@ -2,5 +2,4 @@
 .define _brk
 .sect .text
 _brk:
-	mov	ax,17
-	jmp	sysal
+	jmp	__brk

+ 1 - 18
mach/xenix3/libsys/sbrk.s

@@ -2,21 +2,4 @@
 .define _sbrk
 .sect .text
 _sbrk:
-	push	bp
-	mov	bp,sp
-	push	ds
-	mov	ax,4(bp)
-	cwd
-	push	dx
-	push	ax
-	mov	ax,1
-	push	ax
-	call	__brkctl
-	add	sp,8
-	pop	bp
-	ret
-
-
-__brkctl:
-	mov	ax,4904
-	jmp	sysal
+	jmp	__sbrk