wok diff syslinux/stuff/iso2exe/bootiso.S @ rev 19849
syslinux/iso2exe: do not update hybrid mbr partitions (again)
author | Pascal Bellard <pascal.bellard@slitaz.org> |
---|---|
date | Wed Mar 15 16:52:45 2017 +0100 (2017-03-15) |
parents | c281a4009aaa |
children | de17d022fe9c |
line diff
1.1 --- a/syslinux/stuff/iso2exe/bootiso.S Mon Mar 13 12:09:18 2017 +0100 1.2 +++ b/syslinux/stuff/iso2exe/bootiso.S Wed Mar 15 16:52:45 2017 +0100 1.3 @@ -177,12 +177,11 @@ 1.4 ret 1.5 .org 0x7E00 1.6 1.7 - .org 0x7F48 1.8 + .org 0x7F4E 1.9 ////////////////////////////// DOS EXE code /////////////////////////////////// 1.10 1.11 exestart: 1.12 cld 1.13 - movw $EXEADRS(puts), %bp 1.14 movw 129, %ax 1.15 cmpb $0x2F, %al 1.16 je ishelp 1.17 @@ -194,24 +193,18 @@ 1.18 je abort 1.19 int $0x21 // get DOS version 1.20 addb $-3, %al 1.21 - movw $0xF000+EXESTR(noDOS3), %ax 1.22 + movb $EXESTR(noDOS3), %al 1.23 movw $0x100, %di 1.24 jc tst386 1.25 abort: 1.26 - jmp *%bp 1.27 +goputs: 1.28 + jmp puts 1.29 1.30 tst386: 1.31 - pushfw // save flags 1.32 - // bits 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 1.33 - // flags 0 NT IOPL OF DF IF TF SF ZF 0 AF 0 PF 1 CF 1.34 - // movb $0xF0, %ah 1.35 - pushw %ax 1.36 - popfw // < 286 : flags[12..15] are forced 1 1.37 - pushfw // = 286 : flags[12..15] are forced 0 1.38 - popw %bx // > 286 : only flags[15] is forced 0 1.39 - popfw // restore flags (IOPL) 1.40 - addb %ah, %bh // test F0 and 00 cases 1.41 - js is86 // NS=386+, NC=286 1.42 + pushw %sp 1.43 + popw %ax 1.44 + subw %sp, %ax 1.45 + jnz is86 // 86/186 not a 286+ 1.46 .arch i486 1.47 is386: 1.48 smsww %ax // not privileged 1.49 @@ -225,7 +218,7 @@ 1.50 inc %ax 1.51 //movb $EXESTR(realmodemsg), %al 1.52 realmode: 1.53 - call *%bp 1.54 + call goputs 1.55 .arch i8086 1.56 is86: 1.57 movw comstart-end_header(%di), %si // .com address