wok diff syslinux/stuff/iso2exe/bootiso.S @ rev 14750

busybox-static, busybox-boot: find smaller size
author Pascal Bellard <pascal.bellard@slitaz.org>
date Sun Jun 16 16:40:26 2013 +0200 (2013-06-16)
parents 5ed4d6b2d690
children 3e7ad70145ce
line diff
     1.1 --- a/syslinux/stuff/iso2exe/bootiso.S	Sat Mar 30 18:36:46 2013 +0100
     1.2 +++ b/syslinux/stuff/iso2exe/bootiso.S	Sun Jun 16 16:40:26 2013 +0200
     1.3 @@ -87,24 +87,39 @@
     1.4  	cmpb	$0x80, %al
     1.5  	xchgw	%ax, %dx
     1.6  	jnz	dxloop
     1.7 -fail:
     1.8 -//	movw	$0x0600+noloader, %si
     1.9 -//	call	putslp
    1.10 -stop:
    1.11 -	hlt
    1.12 -	jmp	stop
    1.13  dxfound:
    1.14  	movw	%dx, 10(%bp)
    1.15 +	call	checkboot
    1.16 +noboot:
    1.17 +	.ascii	"No isolinux mbr."
    1.18 +noboot_end:
    1.19 +
    1.20 +	.org	0x0080
    1.21 +////////////////////////////// EXE/PE header //////////////////////////////////
    1.22 +
    1.23 +	.org	0x01A0
    1.24 +checkboot:
    1.25  	call	readsectorX
    1.26  	lodsw
    1.27 +	popw	%si
    1.28  	shrw	$1, %ax
    1.29 -	jz	fail			// read fail or not isohydrid
    1.30 +	jz	error			// read fail or not isohydrid
    1.31  	popw	%es
    1.32  	popa
    1.33  	iret
    1.34  
    1.35 -	.org	0x0080
    1.36 -////////////////////////////// EXE/PE header //////////////////////////////////
    1.37 +error:
    1.38 +	movw	$noboot_end-noboot, %cx
    1.39 +putsloop:
    1.40 +	lodsb
    1.41 +	movw	$7, %bx
    1.42 +	movb	$0xE, %ah
    1.43 +	int	$0x10
    1.44 +	loop	putsloop
    1.45 +halt:
    1.46 +	hlt
    1.47 +	jmp	halt
    1.48 +	.org	0x01BE
    1.49  
    1.50  	.org	0x7EE0
    1.51  ////////////////////////////// DOS EXE code ///////////////////////////////////