at this place entry.obj for your Borland compilation *must* have ror eax,16 push ax ror eax,16
Indeed, it DOES have it!
However from the makefiles I conclude this code should be present.
Yes, it is.
It will also be helpful if you can provide the assembly output of what Borland C generates (*how* does it exactly use eax) for those functions that you changed.
Here it is. Original functions are to the left of the vertical line, my functions are to the right. Mostly fmemcpy is improved. Hope this helps.
Lucho
INIT_MEMSET: |INIT_MEMSET: push BP | push BP mov BP,SP | mov BP,SP push SI | push SI mov DX,4[BP] | mov SI,8[BP] mov SI,8[BP] | mov DX,4[BP] jmp short L12 | jmp short L12 LC: mov AL,6[BP] |LC: mov AL,6[BP] mov [SI],AL | mov [SI],AL inc SI | inc SI L12: mov AX,DX |L12: mov AX,DX dec DX | dec DX or AX,AX | or AX,AX jne LC | jne LC pop SI | pop SI pop BP | pop BP ret 6 | ret 6 INIT_FMEMSET: |INIT_FMEMSET: enter 4,0 | push BP mov DX,4[BP] | mov BP,SP mov EAX,8[BP] | mov DX,4[BP] mov -4[BP],EAX | jmp short L32 jmp short L3B |L26: les BX,8[BP] L2F: les BX,-4[BP] | mov AL,6[BP] mov AL,6[BP] | mov ES:[BX],AL mov ES:[BX],AL | inc word ptr 8[BP] inc word ptr -4[BP]|L32: mov AX,DX L3B: mov AX,DX | dec DX dec DX | or AX,AX or AX,AX | jne L26 jne L2F | pop BP leave | ret 8 ret 8 | INIT_STRCPY: |INIT_STRCPY: push BP | push BP mov BP,SP | mov BP,SP push SI | push SI push DI | push DI mov SI,6[BP] | mov SI,6[BP] mov DI,4[BP] | mov DI,4[BP] jmp short L59 |L48: mov BX,DI L53: mov AL,[DI] | inc DI mov [SI],AL | mov AL,[BX] inc DI | mov BX,SI inc SI | inc SI L59: cmp [DI],0 | mov [BX],AL jne L53 | or AL,AL mov [SI],0 | jne L48 pop DI | pop DI pop SI | pop SI pop BP | pop BP ret 4 | ret 4 INIT_FMEMCPY: |INIT_FMEMCPY: enter 8,0 | push BP mov DX,4[BP] | mov BP,SP mov EAX,0Ah[BP] | mov DX,4[BP] mov -4[BP],EAX | jmp short L76 mov EAX,6[BP] |L64: les BX,6[BP] mov -8[BP],EAX | mov AL,ES:[BX] jmp short L92 | les BX,0Ah[BP] L80: les BX,-8[BP] | mov ES:[BX],AL mov AL,ES:[BX] | inc word ptr 6[BP] les BX,-4[BP] | inc word ptr 0Ah[BP] mov ES:[BX],AL |L76: mov AX,DX inc word ptr -8[BP]| dec DX inc word ptr -4[BP]| or AX,AX L92: mov AX,DX | jne L64 dec DX | pop BP or AX,AX | ret 0Ah jne L80 | leave | ret 0Ah |
------------------------------------------------------- The SF.Net email is sponsored by EclipseCon 2004 Premiere Conference on Open Tools Development and Integration See the breadth of Eclipse activity. February 3-5 in Anaheim, CA. http://www.eclipsecon.org/osdn _______________________________________________ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel