wok-current diff syslinux/stuff/iso2exe/bootiso.S @ rev 23787

updated yaml and yaml-dev (0.2.2 -> 0.2.4)
author Hans-G?nter Theisgen
date Fri May 22 07:12:48 2020 +0100 (2020-05-22)
parents ab8e834bbcfe
children ec56ab0f8e5b
line diff
     1.1 --- a/syslinux/stuff/iso2exe/bootiso.S	Sat Feb 23 13:25:31 2019 +0100
     1.2 +++ b/syslinux/stuff/iso2exe/bootiso.S	Fri May 22 07:12:48 2020 +0100
     1.3 @@ -177,12 +177,10 @@
     1.4  	  movsb
     1.5  	ret
     1.6  	.org	0x7E00
     1.7 -
     1.8 -	.org	0x7F78
     1.9 +	.org	0x7F40
    1.10  ////////////////////////////// DOS EXE code ///////////////////////////////////
    1.11  
    1.12  exestart:
    1.13 -	cld
    1.14  	movw	129, %ax
    1.15  	cmpb	$0x2F, %al
    1.16  	je	ishelp
    1.17 @@ -223,6 +221,51 @@
    1.18  	//movb	$EXESTR(realmodemsg), %al
    1.19  isvm86:
    1.20  	call	goputs
    1.21 +//----------
    1.22 +	pushw	%di
    1.23 +//------------- insert argv[0] in cmdline -----------------------
    1.24 +	xchgw	%ax,%dx			// %ax = 0
    1.25 +	movw	%ax,%di
    1.26 +	movw	0x2C(%di),%es
    1.27 +	movw	%sp,%cx			// big enough
    1.28 +scalp:
    1.29 +	repne
    1.30 +	  scasb
    1.31 +	scasb
    1.32 +	jne	scalp
    1.33 +	incw	%di
    1.34 +	movw	%di,%bx
    1.35 +	incw	%di
    1.36 +	pushw	%di			// %es:%di = programme pathname
    1.37 +	repne
    1.38 +	  scasb
    1.39 +	subw	%di,%bx
    1.40 +	negw	%bx
    1.41 +	movw	$128,%si
    1.42 +	addw	%bx,(%si)
    1.43 +	lodsb	
    1.44 +	xchgw	%ax,%cx
    1.45 +	incw	%cx
    1.46 +	pushw	%si
    1.47 +p2lp:
    1.48 +	lodsb
    1.49 +	movb	%al,-2(%bx,%si)
    1.50 +	loop	p2lp
    1.51 +	popw	%si
    1.52 +	popw	%bx
    1.53 +	movb	$0x20,%al
    1.54 +p1lp:
    1.55 +	movb	%al,(%si)
    1.56 +	incw	%si
    1.57 +	movb	%es:(%bx),%al
    1.58 +	incw	%bx
    1.59 +	cmpw	%bx,%di
    1.60 +	ja	p1lp
    1.61 +//----------
    1.62 +	popw	%di
    1.63 +	pushw	%cs
    1.64 +	popw	%es
    1.65 +//----------
    1.66  	movw	comstart-end_header(%di), %si		// .com address
    1.67  	pushw	%di
    1.68  	movb	$0x7C/2, %ch		// 31K-31.5K, > com length
    1.69 @@ -242,17 +285,13 @@
    1.70  	.ascii	"real"			// real mode
    1.71  // --------------- Must be in 7FC0 7FFF range ------------------------
    1.72  mode:
    1.73 -	.ascii	" m"
    1.74 -ode:
    1.75 -	.ascii	"ode"
    1.76 +	.ascii	" mode"
    1.77  	.byte	EXESTR(eol)
    1.78  noDOS3:
    1.79 -	.ascii	"DOS3"			// DOS3?
    1.80 -need:
    1.81 -	.ascii	"?"
    1.82 +	.ascii	"DOS3?"			// DOS3?
    1.83  	.byte	EXESTR(eol)
    1.84  help:
    1.85 -	.ascii	"SliTaz iso boot."	// SliTaz iso boot.
    1.86 +	.ascii	"SliTaz iso boot"	// SliTaz iso boot
    1.87  eol:
    1.88  	.ascii	"\r\n"
    1.89  	.byte	1			// puts will return