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