Back to home page

DOS ain't dead

Forum index page

Log in | Register

Back to the forum
Board view  Mix view

about to fix the "final" doslfn bug (Announce)

posted by Japheth Homepage, Germany (South), 31.03.2022, 22:51

The proposed fix has a flaw: it modifies hiword(ebx). That's something that DOS ( and hence doslfn ) shouldn't do.

This is better:


;    BX=Zeiger auf Sektor-Anfang
;    [num_cluster] inkrementiert bei Cluster-Wechsel
;VR: alle
        mov     eax,[CurSector]
        inc     eax
if 0
        cmp     [DPB_LastSec],eax
        jc      _nde_ret        ;war User-Bereich: Ende!
endif
        sub     eax,[DPB_UsrSec];Hauptverzeichnis-Ende?
        cmc
        jz      _nde_ret        ;war Hauptverzeichnis: Ende! (mit CY=1)
        jnc     @@er            ;war Hauptverzeichnis: es gibt weitere
if 1
        cmp     [DPB_LastSec],eax
        jc      _nde_ret        ;war User-Bereich: Ende!
endif
        call    two2shift


So in this version the compare is unchanged, it's just a few lines later, after EAX has been adjusted.

---
MS-DOS forever!

 

Complete thread:

Back to the forum
Board view  Mix view
22632 Postings in 2109 Threads, 402 registered users, 444 users online (0 registered, 444 guests)
DOS ain't dead | Admin contact
RSS Feed
powered by my little forum