Work at SourceForge, help us to make it a better place! We have an immediate need for a Support Technician in our San Francisco or Denver office.

Close

#227 Full path of source in .OBJ files

closed
nobody
None
5
2012-10-30
2012-09-28
Hjort Nidudsson
No

Masm:
src\foo.asm --> D:\src\foo.asm

Prefered method:
src\foo.asm --> src\foo.asm

Suggested implementation: (src used v2.06e)
main.c(104)
#ifdef __FULLSRCPATH /* Skip if no WILDCARDS */
strcpy(fname, Options.names[ASM]);
if ( strchr(fname, '*') || strchr(fname, '?')) {
#endif
do {
_makepath( fname, drv, dir, finfo.name, NULL );
rc = AssembleModule( fname ); /* assemble 1 module */
} while ( ( _findnext( fh, &finfo ) != -1 ) );
#ifdef __FULLSRCPATH
} else { /* Use command line name -- it may be a short filename */
rc = AssembleModule( fname );
}
#endif
input.c(614)
#ifdef __FULLSRCPATH
p = GetFName( fl->srcfile )->fullname;
#else
p = GetFName( fl->srcfile )->name;
#endif
omf.c(1123)
#ifdef __FULLSRCPATH
if( Options.names[ASM] != NULL ) {
name = Options.names[ASM];
if ( strchr(name, '*') || strchr(name, '?') ) {
name = fn->fullname;
}
} else {
name = fn->fullname;
}
#else
if( Options.names[OPTN_MODULE_NAME] != NULL ) {
name = Options.names[OPTN_MODULE_NAME];
} else {
/* may be better to use ModuleInfo.name!!! */
len = strlen( name );
name += len;
for (;name > fn->fullname && *(name-1) != '/' && *(name-1) != '\\';name--);
}
#endif
omf.c(1171)
#ifdef __FULLSRCPATH
q = curr->fullname;
#else
q = curr->name;
#endif
coff.c(762)
#ifdef __FULLSRCPATH
srcname = GetFName( ModuleInfo->srcfile )->fullname;
#else
srcname = CurrFName[ASM];
srcname += strlen( srcname );
while ( srcname > CurrFName[ASM] &&
*(srcname-1) != '/' &&
*(srcname-1) != '\\') srcname--;
#endif

Discussion

  • japheth
    japheth
    2012-10-30

    You first have to prove that it's a bug, not a feature request. Please provide a test case to show that jwasm behaves differently than masm!

    If it is a feature request, pleast open a new topic THERE! Thanks!

     
  • japheth
    japheth
    2012-10-30

    • status: open --> pending
     
    • status: pending --> open
     
  • Masm:
    obj: src\foo.asm
    out: Assembling: src\foo.asm
    err: src\foo.asm(10) : error A2022: instruction operands must be the same size

    V2.07:
    obj: foo.asm
    out: foo.asm: 12 lines, 2 passes, 0 ms, 0 warnings, 0 errors
    err: foo.asm(10) : Error A2048: Operands must be the same size: 4 – 2

    V2.08: obj fixed :-)
    obj: src\foo.asm
    out: foo.asm: 12 lines, 2 passes, 0 ms, 0 warnings, 0 errors
    err: foo.asm(10) : Error A2048: Operands must be the same size: 4 - 2

    V2.09:
    obj: src\foo.asm
    out: foo.asm: 12 lines, 2 passes, 0 ms, 0 warnings, 0 errors
    err: foo.asm(10) : Error A2048: Operands must be the same size: 4 – 2

     
    • status: open --> closed