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 ///////////////////////////////////