Luchezar Georgiev wrote:
Versions of MASM up to 6.11d are extended DOS programs using DOSXNT.


Forgot to note that versions 6.0a and earlier are 16-bit DOS programs.
(Eric likes NASM but it has no advantages over WASM 1.3 for example :)


Hi Luchezar,

I did some checks and these are the results of my tests:

- My original distribution was still using kernel build 2034. I upgraded to kernel version 2035. Too bad because it didn't solve my problem. Then I tried the test kernel from the URL that Eric gave in his post (http://linux.tu-varna.acad.bg/~lig/freedos/kernel/) and yes for some reason is worked. It seems that the memory fix did help whatever it may be.

Just a small question: could the memory problem have something to do with the fact that EMM386 is not loaded?

- The version of NMAKE.EXE is 1.20 and from ML.EXE is 6.11.

- The DOS function problem was not solved, not with build 2035 and not with the test kernel.

This is the code:
(for your information, SECTOR is an array of 8192 bytes and disp_half_sector is a procedure that reads data in SECTOR and dumps
it on the screen)
----------------------
DOSSEG
.MODEL SMALL
.STACK


.DATA
        EXTRN   SECTOR:BYTE

.CODE
        EXTRN   DISP_HALF_SECTOR:PROC
;-----------------------------------------------------------------------;
; This procedure reads the first sector on disk A and dumps the first   ;
; half of this sector.                                                  ;
;-----------------------------------------------------------------------;
READ_SECTOR     PROC
        MOV     AX,DGROUP             ;Put data segment into AX
        MOV     DS,AX                 ;Set DS to point to data

        MOV     AL,0                  ;Disk drive A (number 0)
        MOV     CX,1                  ;Read only 1 sector
        MOV     DX,0                  ;Read sector number 0
        LEA     BX,SECTOR             ;Where to store this sector
        INT     25h                   ;Read the sector
        POPF                          ;Discard flags put on stack by DOS
        XOR     DX,DX                 ;Set offset to 0 within SECTOR
        CALL    DISP_HALF_SECTOR      ;Dump the first half

        MOV     AH,4Ch                ;Return to DOS
        INT     21h
READ_SECTOR     ENDP

        END     READ_SECTOR
------------------------------

Regards,
Andy.


------------------------------------------------------- This SF.Net email is sponsored by BEA Weblogic Workshop FREE Java Enterprise J2EE developer tools! Get your free copy of BEA WebLogic Workshop 8.1 today. http://ads.osdn.com/?ad_id=5047&alloc_id=10808&op=click _______________________________________________ Freedos-user mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-user

Reply via email to