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