Quickly Convert Embedded Systems & Legacy RTOS source to Linux, Windows using the K.I.S.S. principle

Click here for Source to Source Conversion Home Page

Micro-Processor Services, Inc.
Tel. 561 302 3276
Contact us

Source to Source Compilers for Converting Legacy Mainframe & Embedded Applications to C, C++, CPP, C#, CS, JAVA, VB, NinjaScript, Structured Text (ST), .NET

Software Product Box Image

FEATURES

  • Simple to use, automated process
  • Translation of MASM fragments
  • Translation of INCLUDE or COPY files
  • Translation of MASM directives
  • Support for card format input
  • Extensive error checking diagnostics
  • Accurate translation
  • Run time interface
  • Easy to install
  • Compatible with many C and ANSI C compilers
  • Translates include files on the fly
  • Moves nested procedures
  • Completes unqualified structure members
  • Flags MASM syntax errors in listing file
  • Outputs ANSI C or K&R C
  • Generates C translation files with comments logically placed
  • Includes skeletons in C of runtime support functions
  • Provides a list of implicitly declared variables in each module
  • Has a by-pass capability that allows translation even with syntax errors in the input file
  • Converts MASM programs to C so you can move your program to other processors
  • Translation may be done in an editor environment with error message capability using "Brief" or any editor that is supported
  • Flags syntax errors and generates listing file with levels for include files
  • WIN32 protected mode operation allows translation of very large source files (more then to 500,000 lines per file)
  • KEYWORDS

    ASM, ASSEMBLY, MASM, 8086, 80186, 80286, 80386, 80486, Intel, ASSEMBLER, ASSEMBLER,MICROSOFT

    REFERENCES

    MASM ver 5.0 by Microsoft MASM ver 6.0 by Microsoft

    LINKS

    Why Convert from ASM to C?


    CONTACT

    Micro-Processor Services
    Contact us

    MASM2C
    Microsoft MASM to "C" Translator, Converter:
    Reverse Engineering For Assembly Source Code

    The MASM2C® translator is a Microsoft Windows program that translates Microsoft MASM (8086, 80186, 80286, 80386, 80486) programs to "C" source code. The translation process is a turn key process with minimal user intervention. The translator output is ANSI C or K&R C code that is ready to be tested with the target compiler. Simply run your MASM code through the translator and start debugging C code with your target compiler.

    GENERAL DESCRIPTION

    The MASM2C® translator is a software tool that will convert existing MASM programs to "C". The powerful MASM2C® translator accepts MASM programs, checks their syntax and outputs C code. The comments are move transparently from the source file to the target file. Any built-in functions for math, string manipulation and I/O in MASM are converted to calls to external procedures (Get free sample translation) . 

    The MASM2C® translator contains a syntax analyzer, an MASM to tertiary converter, and a tertiary to "C converter. The syntax analyzer scans the MASM input file for syntactic errors and generates a listing file of the MASM program. Any syntactic errors will be flagged with detailed English messages in the listing file. If no errors are encountered, the MASM input file is converted to tertiary language. Then the tertiary file is checked and, if no errors are detected, it is converted to "C". A command line control is provided to allow translation with errors in the source file. This is helpful when translating code fragments that are not complete programs.

    The translation of the MASM source language into an intermediate tertiary language ensures the logical equivalence between the source and target languages. This sophisticated tertiary language, which is common to our entire family of translators, allows complex mapping from source language to the target. The tertiary language is automatically converted to "C" while maintaining the logical equivalence between the output "C" program and the input MASM program.

    The "C" output file will be generated in 

    1. Compact and portable K&R C 
    2. Standard ANSI C code 

    as selected by a command line option.

    MASM DIRECTIVES 

    ALIGN, ALPHA, ASSUME, CODE, COMM, COMMENT, CONST, CREF, DATA, DATAQ, DOSSEG, DB, DW, DBS, DWS, DD, DF, DQ, DT, ELSE, END, ENDIF, ENDM, ENDP, ENDS, ENDSEG, EQU, ERR, ERR1, ERR2, ERRB, ERRDEF, ERRDIF, ERRNZ, EVEN, EXITM, EXTRN, FARDATA, FARDATAQ, GROUP, IF, IF1, IF2, IFB, IFDEF, IFDIF, IFDIFI, IFE, IFIDN, IFIDNI, IF IFNB, IFNDEF, INCLUDE, INCLUDELIB, IRP, IRPC, LABEL, LALL, LFCOND, LIST, LOCAL, MACRO, MACRO_LINE MODEL, NAME, ORG, POUT, PAGE, PAGEP, PROC, PROG, PUBLIC, PURGE, RADIX, RECORD, REPT, SALL, SEGMENT, SEQ, SFCOND, STACK, STRUC, SUBTTL, TFCOND, TITLE, XALL, XCREF, XLIST, NOTHING, USE16, USE32, USES, PARA, COMMON, MEMORY, OPTION, SKIP

    MASM INSTRUCTION :

    AAA, AAD, AAM, AAS, ABS, AH, AL, ASSUME, AT, AX, BH, BL, BP, BX, BYTE, CALL, CBW, CH, CL, CLC, CLD, CLI, CMPS, CODEMARCO, COMMON, CS, CWD, CX, DAS, DD, DEC, DEFINE, DH, DIV, DL, DUP, DWORD, DX, ELSE, ELSEIF, ENDIF, ENDM, ENDP, ENDS, EQS, ES, ESC, EVAL, EXIT, FAR, GES, GROUP, GTS, IDIV, IMUL, INC, INCHAR, INT, INTO, IRET, JA, JAE, JB, JBE, JCXZ, JE, JG, JGE, JL, JLE, JNA, JNAE, JNR, JNBE, JNE, JNG, JNGE, JNL, JNLE, JNO, JNP, JNS, JO, JS, JUMP, LABEL, LAHF, LDS, LEA, LEN, LENGTH, LES, LOCK, LODS, LOOP, LOOPE, LOOPNE, LOOPNZ, LOOPZ, LTS, MASK, MATCH, METACHAR, MODRM, MOVS, MUL, NEAR, NEG, NES, MIL, NOSEGFIX, NOTHING, OFFSET, PARA, POPF, PREFX, PROC, PROCLEN, PIR, PURGE, PUSHF, RCL, RCR, RECORD, RELB, RELW, REP, REPE, REPEAT, REPNE, REPNZ, REPZ, ROL, SAHF, SAL, SAR, SCAS, SEG, SEGFIX, SEGMENT, SHORT, SI, SIZE, SS, STD, STI, STOS, STRUC, SUBSTR, TEST, THIS, TYPE, WAIT, WHILE, WIDTH, WORD, XLAT

    MASM REGISTERS:
    AH BH CH DH AL BL CL DL AX BX CX DX EAX EBX ECX EDX SP BP SI DI ESP EBP ESI EDI CS DS SS ES FS GS
    CR0 CR1 CR2 CR3 CR4 CR5 CR6 CR7
    DR0 DR1 DR2 DR3 DR4 DR5 DR6 DR7
    TR0 TR1 TR2 TR3 TR4 TR5 TR6 TR7

    TECHNICAL INFORMATION

    CPU SUPPORTED: Intel 8086,81868, 80286, 80386, 80486

    HOSTS SUPPORTED: The translators run under all Microsoft Windows platforms. Porting of the translator to other hosts is available.

    TRANSLATION METHOD: Double conversion from MASM to tertiary and then from tertiary to "C".

    TRANSLATION CAPACITY: WIN16 version can translate up to 40,000 lines per file. WIN32 version can translate more then 500,000 lines per file.

    TRANSLATOR RUN TIME SUPPORT: Skeletons in "C" of the run time support function are available with the translator. 

    SOFTWARE FORMAT AND MEDIA: CD for Windows or floppy for MS-DOS version.

    DOCUMENTATION: User's Guide

    COPY PROTECTION: Includes a USB security lock

    SUPPORT: Includes 30 days free telephone or e-mail technical support. For updates, monthly support must be purchased.

    WEIGHT: 2 pounds

    ORDER: MASM2S