wok diff syslinux/stuff/iso2exe/ifmem.S @ rev 20891

Update some WEB_SITE
author Pascal Bellard <pascal.bellard@slitaz.org>
date Tue Feb 26 08:20:18 2019 +0100 (2019-02-26)
parents
children
line diff
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/syslinux/stuff/iso2exe/ifmem.S	Tue Feb 26 08:20:18 2019 +0100
     1.3 @@ -0,0 +1,55 @@
     1.4 +	.code16
     1.5 +	.org	0
     1.6 +type_of_loader	=	0x10
     1.7 +	
     1.8 +	orw	$0x8020, type_of_loader(%si) # loader type = 0x20 = bootsect-loader
     1.9 +	pushal
    1.10 +	
    1.11 +	movw	$10+16, %cx
    1.12 +fillbuf:
    1.13 +	pushw	$0
    1.14 +	loop	fillbuf
    1.15 +	popal			// clear regiters
    1.16 +maploop:
    1.17 +	movw	%sp, %di	// %es = %ss
    1.18 +	movb	$20, %cl
    1.19 +	movw	$0xE820, %ax
    1.20 +	movl	$0x534d4150, %edx
    1.21 +	int	$0x15
    1.22 +	sbbl	%eax, %edx
    1.23 +	jne	mapdone
    1.24 +	decw	16(%di)	
    1.25 +	jne	notram
    1.26 +	addw	8+2(%di), %bp
    1.27 +notram:
    1.28 +	orw	%bx, %bx
    1.29 +	jnz	maploop
    1.30 +mapdone:
    1.31 +	addw	$20, %sp
    1.32 +	shrw	$20-16,%bp
    1.33 +	jnz	mapdone2
    1.34 +	movb	$0x88, %ah
    1.35 +	int	$0x15
    1.36 +	xchgw	%ax, %bp
    1.37 +	shrw	$10, %bp
    1.38 +mapdone2:
    1.39 +	incw	%bp
    1.40 +// %bp : nb Mb	
    1.41 +	call	here
    1.42 +here:
    1.43 +	popw	%di
    1.44 +	movw	$0x1EE, %si
    1.45 +	lodsw
    1.46 +sizeloop:
    1.47 +	scasw			// %di += 2
    1.48 +	addw	$4, %ax
    1.49 +	cmpb	%al, (%si)	
    1.50 +	jbe	sizedone
    1.51 +	cmpw	%bp, sizes-here(%di)
    1.52 +	jbe	sizeloop
    1.53 +	movb	%al, (%si)
    1.54 +sizedone:
    1.55 +	popal
    1.56 +	lret			// need %si
    1.57 +sizes:
    1.58 +