Back to home page

DOS ain't dead

Forum index page

Log in | Register

Back to the forum
Board view  Mix view

perhaps a small bug in new HimemSX? (Announce)

posted by Japheth Homepage, Germany (South), 10.04.2022, 22:04

> There's new code in rmcopy that's three bytes shorter, plus one byte
> padding.

Ah yes, it might have been an "optimization" that I forgot.


While implementing the new block move feature in Jemm I found something that gave me a vague feeling of a bug:


        mov edx,es:[si].xms_move.dest_offset
        mov si,es:[si].xms_move.dest_handle
        call xms_get_move_addr
        mov dx,si
        pop di
        pop si
        jc @@copy_dest_is_wrong
        test di,4000h
        mov edi,eax
        mov bl,0            ; <---- isn't this missing?
        push dx
        jz @F
        mov bl,es:[si+sizeof xms_move].sxms_move.src_hi
@@:
        mov edx,es:[si].xms_move.src_offset
        mov si,es:[si].xms_move.src_handle
        call xms_get_move_addr
        pop dx
        jc @@copy_source_is_wrong


I have no test case yet, and the bug may only be revealed if you access a super-extended block with the old block-move function AH=0Bh, but in any case the thing looks suspicious. :-D

---
MS-DOS forever!

 

Complete thread:

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