News:

Masm32 SDK description, downloads and other helpful links
Message to All Guests

Main Menu

Replacements for fptoa and fptoa2 modules.

Started by hutch--, February 01, 2013, 12:44:18 PM

Previous topic - Next topic

hutch--

Dave has tweaked both algos so that they build in both the early and later versions of ML.EXE. I have tested the build on ML versions 6.14 and 8.0 and 9.0 and they build correctly.

Overwrite the two older versions in the masm32 library then run the batch file in the m32lib directory. This tweak by Dave allows the library to be built using a late version of ML.EXE.

dedndave


hutch--


dedndave

lol - niiiiice
have to give credit where it's due, is all   :P

anta40

I found 2 errors while rebuilding masm32.lib

Quote
***********
ASCII build
***********

Assembling: fptoa.asm
fptoa.asm(75) : error A2023:instruction operand must have size
Assembling: fptoa2.asm
fptoa2.asm(74) : error A2023:instruction operand must have size
Assembling: frame3d.asm
Assembling: framegrp.asm


*************
UNICODE Build
*************

Assembling: ucgetline.asm
Assembling: ucleft.asm
Assembling: uclen.asm
Assembling: uclower.asm
Assembling: ucltrim.asm
Assembling: ucmid.asm
Assembling: ucMonoSpace.asm
Assembling: ucmulcat.asm
Assembling: ucremove.asm
Assembling: ucrep.asm
Assembling: ucrev.asm
Assembling: ucright.asm
ucright.asm(7) : fatal error A1000:cannot open file : masm32.inc
Microsoft (R) Library Manager Version 11.00.51106.1
Copyright (C) Microsoft Corporation.  All rights reserved.

I thinks this is my first time I met such errors

dedndave

i don't get that error using ML versions 6.1 - 10   :P

i guess version 11 wants to see TBYTE PTR
fbstp tbyte ptr [esp]

see if that will work, because i cannot run ML version 11 on this machine to test it
it's the same line of code for both fptoa and fptoa2

dedndave

i see that Tim did what i would consider to be a bit of a no-no
FloatToBCD PROC public uses esi edi

    sub esp, 10

    fbstp [esp]

;
;
;

    add esp, 10
    ret

FloatToBCD ENDP


even though the stack belongs to the process, and it is not otherwise accessed in the routine,
i would keep the stack 4-aligned at all times by using 12 instead of 10