wok diff linld/stuff/src/JUMP.ASM @ rev 19905

Up backup-manager (0.7.13)
author Pascal Bellard <pascal.bellard@slitaz.org>
date Mon Apr 10 09:25:19 2017 +0200 (2017-04-10)
parents 485b1db348fd
children 04feaffdc0d9
line diff
     1.1 --- a/linld/stuff/src/JUMP.ASM	Sun Apr 09 12:22:58 2017 +0200
     1.2 +++ b/linld/stuff/src/JUMP.ASM	Mon Apr 10 09:25:19 2017 +0200
     1.3 @@ -29,16 +29,21 @@
     1.4  
     1.5          segment _TEXT byte public use16 'CODE'
     1.6  
     1.7 +;***************************************************************
     1.8 +;void boot_kernel();
     1.9 +;****** Never returns
    1.10 +;***************************************************************
    1.11  	global	_boot_kernel:near
    1.12 -_boot_kernel:
    1.13 +        proc    _boot_kernel near
    1.14 +        
    1.15  ; Shrink stack: we won't need much of it now and have no malloc() plans
    1.16  		extrn	_heap_top:word
    1.17  		mov	ax,[_heap_top]
    1.18  		inc	ah
    1.19  		cmp	ax,sp
    1.20 -		ja	samesp
    1.21 +		ja	@@samesp
    1.22  		xchg	ax,sp
    1.23 -samesp:
    1.24 +@@samesp:
    1.25  		ifdef	NO386
    1.26  		extrn	_topseg:near
    1.27  		call	near _topseg
    1.28 @@ -56,21 +61,12 @@
    1.29  		mov	dx,cs
    1.30  		add	ax,dx
    1.31  		cmp	ax,bx
    1.32 -		jb	nooverflow
    1.33 +		jb	@@nooverflow
    1.34  ; Oops! We can stomp on our toes... better stop now
    1.35  		mov	bx,offset overflow
    1.36  		extrn	die:near
    1.37  		jmp	near die
    1.38 -nooverflow:
    1.39 -;***************************************************************
    1.40 -;void set_sregs_jump_seg_ofs(u32 csip);
    1.41 -;****** Never returns
    1.42 -;***************************************************************
    1.43 -        global  _set_sregs_jump_seg_ofs:near
    1.44 -        proc    _set_sregs_jump_seg_ofs near
    1.45 -
    1.46 -		extrn	dos_shutdown:near
    1.47 -
    1.48 +@@nooverflow:
    1.49  		cli				; we start doing destructive things to DOS
    1.50  		push	es
    1.51  		pop	ss
    1.52 @@ -94,13 +90,12 @@
    1.53  		rep
    1.54  		  movsb
    1.55  		cmp	al,cl			; load high ?
    1.56 -		jne	isbzimage
    1.57 +		jne	@@isbzimage
    1.58  		ifdef	NO386
    1.59  		add	bh,9
    1.60  		push	bx			; topseg()+0x0900
    1.61  		else
    1.62 -		push	9900h			; 4096 bytes for cmdline
    1.63 -	;push	9820h			; 512 bytes for cmdline
    1.64 +		push	9800h+(4096/16)		; 4096 bytes for cmdline
    1.65  		endif
    1.66  		; finish loading
    1.67  		extrn   @last_ditch$qv:near
    1.68 @@ -113,17 +108,16 @@
    1.69  		xor	si,si			;  A000 -9000 -0800(>movedend)
    1.70  		xor	di,di			; set ZF
    1.71  		mov	cx,offset movedend
    1.72 -        global  _bss_end:byte
    1.73 -	;mov	cx,offset _bss_end
    1.74  		rep
    1.75  		  movsb
    1.76  		push	es
    1.77 -		call	near doretf		; mov cs,es
    1.78 +		call	near @@doretf		; mov cs,es
    1.79  		push	ss
    1.80  		pop	es
    1.81  		push	cs
    1.82  		pop	ds
    1.83  		push	ax
    1.84 +		extrn	dos_shutdown:near
    1.85  		call	near dos_shutdown
    1.86  		;in	al,70h
    1.87  		;or	al,80h			; disable NMI
    1.88 @@ -133,10 +127,10 @@
    1.89  		mov	ax,8
    1.90  		cwd				; clear dx
    1.91  		cmp	bx,ax
    1.92 -		ja	bufhigh
    1.93 +		ja	@@bufhigh
    1.94  		sub	ax,bx
    1.95  		inc	ax
    1.96 -bufhigh:
    1.97 +@@bufhigh:
    1.98  		push	ax
    1.99  		push	dx			; size=up to 512k
   1.100  		push	bx			; src ofs= pm.fallback
   1.101 @@ -161,10 +155,10 @@
   1.102  		cmp	[dword 1E6h],'SKLE'
   1.103  		else
   1.104  		cmp	[word 1E6h],'LE'
   1.105 -		jne	notelks
   1.106 +		jne	@@notelks
   1.107  		cmp	[word 1E8h],'SK'
   1.108  		endif
   1.109 -		jne	notelks
   1.110 +		jne	@@notelks
   1.111  		ifdef	NO386
   1.112  		mov	cx,120h
   1.113  		push	cx
   1.114 @@ -183,10 +177,9 @@
   1.115  		push	es
   1.116  		pop	ss
   1.117  		push	cx
   1.118 -notelks:
   1.119 +@@notelks:
   1.120  		endif
   1.121 -
   1.122 -isbzimage:
   1.123 +@@isbzimage:
   1.124  		push	ss
   1.125  		pop	ds
   1.126  		;push	ss
   1.127 @@ -199,12 +192,11 @@
   1.128  		endif
   1.129  		assume	nothing
   1.130  		assume	cs:DGROUP
   1.131 -
   1.132 -doretf:
   1.133 +@@doretf:
   1.134                  retf
   1.135  
   1.136  movedend:
   1.137 -        endp    _set_sregs_jump_seg_ofs
   1.138 +        endp    _boot_kernel
   1.139  
   1.140          ends    _TEXT
   1.141