wok diff BootProg/stuff/boot16.asm @ rev 25336

updated suricata (5.0.2 -> 6.0.6)
author Hans-G?nter Theisgen
date Sat Jul 23 17:54:01 2022 +0100 (23 months ago)
parents 180119c209e8
children 62d43c1b8453
line diff
     1.1 --- a/BootProg/stuff/boot16.asm	Fri Jun 17 09:35:48 2022 +0000
     1.2 +++ b/BootProg/stuff/boot16.asm	Sat Jul 23 17:54:01 2022 +0100
     1.3 @@ -296,9 +296,9 @@
     1.4  
     1.5          mov     ax, es                  ; ax = FAT segment = ImageLoadSeg
     1.6          add     si, si                  ; si = cluster * 2
     1.7 -        jnc     First64
     1.8 +        jnc     First64k
     1.9          mov     ah, (1000h+ImageLoadSeg)>>8 ; adjust segment for 2nd part of FAT16
    1.10 -First64:
    1.11 +First64k:
    1.12          mov     dx, 0FFF8h
    1.13  
    1.14          cmp     [bx(bpbSectorsPerFAT)], cx ; 1..12 = FAT12, 16..256 = FAT16
    1.15 @@ -309,20 +309,19 @@
    1.16          shr     si, 1                   ; si = cluster * 3 / 2
    1.17  
    1.18  ReadClusterFat16:
    1.19 +        push    ds
    1.20          mov     ds, ax
    1.21          lodsw                           ; ax = next cluster
    1.22 +        pop     ds
    1.23          jnc     ReadClusterEven
    1.24  
    1.25          rol     ax, cl
    1.26  
    1.27  ReadClusterEven:
    1.28 +        scasw                           ; di += 2
    1.29          and     ah, dh                  ; mask cluster value
    1.30          cmp     ax, dx
    1.31  
    1.32 -        push    cs
    1.33 -        pop     ds
    1.34 -        inc     di
    1.35 -        inc     di
    1.36          xchg    ax, si
    1.37          jc      ClusterLoop
    1.38          pop     si