Re: masm 6.1 unwelcome optimizations
- From: "Kevin G. Rhoads" <kgrhoads@xxxxxxxxxxxx>
- Date: Tue, 10 Apr 2007 16:33:45 +0000
When I reassemble the asm source (which needed to be tweaked to remove references
to registers and directives that don't apply to the 8086 -- one would think that
IDA would be smarter), I find that MASM 6.10 (ML.EXE) doesn't honor the explicit
forms of certain instructions and instead optimizes them to smaller forms, which
breaks all methods involving binary comparisons. For example, here is a statement
and the expected assembled object code:
81 E6 FEFF AND SI,FFFE
Instead, MASM produces:
83 E6 FE AND SI, -02
1) Are you using 6.10's ML.EXE or MASM.EXE?
2) If using ML.EXE directly, are you using /Zm
3) Is the source small enough that you can go through and replace every thing like
AND SI,FFFE
with
DB 081h,0E6h,0FEh,0FFh ; was AND SI,FFFE need to force EXACT mapping
4) DO you know what was used originally? Can you get that tool?
5) If not, have you tried TASM? OpenWatcom WASM? Wolfware WASM? GASM? or any other
assembler? Or is it too MS-ish?
.
- Follow-Ups:
- Re: masm 6.1 unwelcome optimizations
- From: msg
- Re: masm 6.1 unwelcome optimizations
- References:
- masm 6.1 unwelcome optimizations
- From: msg
- masm 6.1 unwelcome optimizations
- Prev by Date: Re: masm 6.1 unwelcome optimizations
- Next by Date: Re: masm 6.1 unwelcome optimizations
- Previous by thread: Re: masm 6.1 unwelcome optimizations
- Next by thread: Re: masm 6.1 unwelcome optimizations
- Index(es):
Relevant Pages
|