flat assembler
Message board for the users of flat assembler.
Index
> DOS > Chances to debug a .com file with source (labels/comments/)? Goto page Previous 1, 2 |
Author |
|
ACP 21 Sep 2015, 13:23
Please do!
|
|||
21 Sep 2015, 13:23 |
|
marste 21 Sep 2015, 17:01
for example compilation of the instruction "xor ax,ax":
tasm: 33 C0 fasm: 30 C0 |
|||
21 Sep 2015, 17:01 |
|
revolution 22 Sep 2015, 06:04
Assembler fingerprinting can be interesting. I think that many AV companies use these kinds of details to help determine which compilers and languages are used to create different parts of the code.
|
|||
22 Sep 2015, 06:04 |
|
marste 23 Sep 2015, 13:56
Was seeming strange to me that already the first instruction of my program (xor ax,ax) was compiled differently but I was having to debug and didn't take much attention to other ones.
But checking a bit better I was able to find that A LOT of instructions are in reality compiled with different machine codes! Seems anyway that all are of same length (and that was important to me), but I don't know if a different coding would mean different execution speed (and if vary on different processors)! |
|||
23 Sep 2015, 13:56 |
|
ACP 24 Sep 2015, 17:01
Welcome to the great world of x86 instruction set encoding. Actually I wonder if any assembler uses different encoding for the same instruction when different target process has been selected.
There is also a interesting case of A86 assembler: it generated different output files for registers and unregistered versions from the same source. @revolution You are right. IDA FLIRT is a great example of another usage of fingerprinting compilers but it rather targets high level language compilers. I haven't seen a good analysis of fingerprinting assemblers on x86. It would be interested to see one eventually. |
|||
24 Sep 2015, 17:01 |
|
marste 06 Oct 2015, 11:38
PS: my "little" program...
http://sourceforge.net/projects/smmax/files/smex%20583%20fide.zip/download (reference compilation with fasm! ) |
|||
06 Oct 2015, 11:38 |
|
marste 10 Oct 2015, 20:32
And also the smaller 455 bytes version!
https://sourceforge.net/projects/smmax/files/smem%20455.zip/download |
|||
10 Oct 2015, 20:32 |
|
rugxulo 25 Sep 2016, 02:17
Okay, I'm late to respond, but here's a few ideas:
Don't bother with TASM, it's of questionable legality (unless you already have an old copy). EDIT: For completeness, there is a partial TASM ("Ideal") clone called Lazy Assembler (LZASM) circa 2007 that is freeware (Win32 or DOS) and supports debug info as well. At the basic level, it's easiest to just insert "int3" as breakpoint where you want the debugger to stop, and go from there. If your debugger doesn't support your kind of symbolic info, and you're running raw DOS (and not multitasking), you can use something like Dave Dunfield's TFB (TSR file browser). If you're using an emulator (JPC? Bochs?), chances are that they support their own built-in debugger (although DOSBox may need a third-party build to enable this). A86/D86 (shareware) supports its own .SYM format. NASM and YASM support various debug infos, but I have no idea which debuggers work best for them. ("nasm -f obj -y" says "Borland Debug Records". "yasm -g help" says "CodeView/VC8, DWARF2, Stabs".) DJGPP GAS is supported by their GDB (7.1?), not sure about FSDB or EDEBUG32. WASM/JWasm are supported by OpenWatcom's WD. This might be your best bet. Ladsoft's VALX (or MKSYM) can produce symbol files for use with his GRDB. Last edited by rugxulo on 29 Sep 2016, 23:57; edited 1 time in total |
|||
25 Sep 2016, 02:17 |
|
marste 29 Sep 2016, 09:57
Ciao rugxulo!
I already managed long time ago with Turbo Debugger and delivered successfully Super Micro Chess! Your information can be anyway useful for someone else in my situation! Thank you! _Stefano |
|||
29 Sep 2016, 09:57 |
|
Goto page Previous 1, 2 < Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2024, Tomasz Grysztar. Also on GitHub, YouTube.
Website powered by rwasa.