wok annotate syslinux/stuff/iso2exe/lzcom.S @ rev 13713
syslinux/iso2exe: add loram support
author | Pascal Bellard <pascal.bellard@slitaz.org> |
---|---|
date | Tue Dec 18 16:09:07 2012 +0100 (2012-12-18) |
parents | |
children | 5b84cc8c4002 |
rev | line source |
---|---|
pascal@13691 | 1 .text |
pascal@13691 | 2 .code16 |
pascal@13691 | 3 |
pascal@13691 | 4 ORGCOM = 0x100 |
pascal@13691 | 5 STKSZ = 0x4000 // unlzma needs 16Kb |
pascal@13691 | 6 CODESZ = (0x10000-STKSZ)/2 // max < 16 sectors = 32Kb |
pascal@13691 | 7 |
pascal@13691 | 8 .org 0 |
pascal@13691 | 9 |
pascal@13691 | 10 .globl _start |
pascal@13691 | 11 _start: |
pascal@13691 | 12 cld |
pascal@13691 | 13 movw $packedcode-unpack, %ax |
pascal@13691 | 14 movw $packedcode+ORGCOM, %si |
pascal@13691 | 15 movw $-STKSZ-CODESZ, %di |
pascal@13691 | 16 subw %ax, %di |
pascal@13691 | 17 pushw %di |
pascal@13691 | 18 movw $CODESZ/2, %cx |
pascal@13691 | 19 rep |
pascal@13691 | 20 movsw // packed code |
pascal@13691 | 21 movw $unpack+ORGCOM, %si |
pascal@13691 | 22 movw %di, %bx |
pascal@13691 | 23 xchgw %ax, %cx |
pascal@13691 | 24 rep |
pascal@13691 | 25 movsb // decompressor |
pascal@13691 | 26 movw $ORGCOM, %di |
pascal@13691 | 27 popw %si |
pascal@13691 | 28 pushw %di |
pascal@13691 | 29 pushw %bx |
pascal@13691 | 30 ret |
pascal@13691 | 31 |
pascal@13691 | 32 unpack: |
pascal@13691 | 33 #define FLAT16 |
pascal@13691 | 34 #include "unlzma.S" |
pascal@13691 | 35 |
pascal@13691 | 36 packedcode: |