flat assembler
Message board for the users of flat assembler.
![]() |
Author |
|
revolution 10 Mar 2008, 11:07
bdsatish wrote: Does anybody know where I can download the FASM User manual ? bdsatish wrote: [1] How to obtain a listing of my ASM code. With NASM, i used the -l (small L) command-line switch: bdsatish wrote: [2] I was able to debug my ASM source code in GDB (GNU debugger) once i used the "-g " option in NASM. |
|||
![]() |
|
bdsatish 10 Mar 2008, 11:25
Quote:
But is the user manual complete and self-sufficient ? I wanted some features of MASM ( if..else, proc..endproc, etc. ) but the manual doesn't describe it. I had to tediously search the forum to find it. Why not update the user manual ? I'm a newbie & find it very difficult to find what I need. The info is scattered all over the forum. Quote:
Then how do I debug/test my code? I basically want to single-step thru the ASM code and track the contents of registers. |
|||
![]() |
|
revolution 10 Mar 2008, 11:29
bdsatish wrote: But is the user manual complete and self-sufficient ? I wanted some features of MASM ( if..else, proc..endproc, etc. ) but the manual doesn't describe it. I had to tediously search the forum to find it. Why not update the user manual ? I'm a newbie & find it very difficult to find what I need. The info is scattered all over the forum. bdsatish wrote:
|
|||
![]() |
|
bdsatish 10 Mar 2008, 11:42
Quote:
Ollydbg works only with Windows ![]() |
|||
![]() |
|
vid 10 Mar 2008, 22:01
Quote: But is the user manual complete and self-sufficient ? I wanted some features of MASM ( if..else, proc..endproc, etc. ) but the manual doesn't describe it. I had to tediously search the forum to find it. Why not update the user manual ? I'm a newbie & find it very difficult to find what I need. The info is scattered all over the forum. because that manual describes only FASM, not any extra macros (even not those described by tomasz). Note that tomasz only provides macros for windows, and those are mostly described in documentation part of site. |
|||
![]() |
|
Chewy509 10 Mar 2008, 22:56
bdsatish wrote:
Have FASM generate a *.o file, and then link to libc using gcc. eg: $ fasm myproc.asm myproc.o $ gcc -o myproc -ggdb myproc.o The resultant elf file will have most of your label information included, and you can use gdb to debug your program. |
|||
![]() |
|
DOS386 12 Mar 2008, 00:53
bdsatish wrote: I saw the HTML documentation of FASM, but it's horribly outdated. NO. It describes the compiler core. Quote: some features of MASM ( if..else, proc..endproc, etc. ) Implemented via macros, not in compiler core. Quote:
Replace -f elf in commandline with format ELF in source. SSSO , RTFM ![]() _________________ Bug Nr.: 12345 Title: Hello World program compiles to 100 KB !!! Status: Closed: NOT a Bug |
|||
![]() |
|
bdsatish 14 Mar 2008, 04:14
@revolution
Thanks for the FASM-listing. It now works fine. @chewy509: Wonderful, thanks. I'm now able to use GDB with FASM. @DOS386: First, thanks for your honest reply. Quote: NO. It describes the compiler core. Agreed. But as an end user, I don't care how the internals of a compiler works. This is not a User Manual, but a Developer's Manual. There is hardly one complete example of how to write a simple program on Linux / Windows. By complete, i mean starting from 'format' directive till the program exit. For example, the doc doesn't explain how to generate a *.o file from *.asm, with examples. I had to figure out the hard way that: 'segment' & 'entry' directives are not allowed when creating an object file. The doc needs to say such facts. Quote: Implemented via macros Macros are included in the standard Windows distribution (in 'include' directory) , but not under Linux. Does the doc highlight this fact ? No, it doesn't. Even the macros in 'include' directory lack comments. Not even a single comment. How can i understand? Quote: Replace -f elf in commandline with format ELF My ques was regarding -l listing.lst and not -f elf |
|||
![]() |
|
AlexP 14 Mar 2008, 05:13
Quote: Even the macros in 'include' directory lack comments. Not even a single comment. How can i understand? Do you have any special reason to understand the inner workings of these? |
|||
![]() |
|
bdsatish 14 Mar 2008, 08:31
Quote: Do you have any special reason to understand the inner workings of these? ![]() |
|||
![]() |
|
AlexP 14 Mar 2008, 17:05
Well, even I cannot remotely understand some of their work. I still consider myself a beginner in ASM, and I only feel the need to use basic macros, so it'll be awhile before I start on learning high-level features of FASM. Good luck!
|
|||
![]() |
|
DOS386 16 Mar 2008, 00:42
.
> My ques was regarding -l listing.lst and not -f elf Sorry, forgot to mention the most important thing ![]() The official FASM releases don't support listing, as already pointed ( http://board.flatassembler.net/topic.php?t=3908 ) there is an "unofficial" listing hack from Tomasz ... no idea why this still isn't an "official" feature, this had been pointed many times in the past: http://board.flatassembler.net/topic.php?p=72835#72835 The reason about the macros is obvious: "Windows"-geeks coming from MASM expect them, because MASM supports such stuff, Linux-geeks coming from NASM and GAS don't need them, since NASM and GAS don't have such "features" either ![]() > I had to figure out the hard way that: 'segment' & 'entry' directives are not allowed when creating an object file. segment is documented under format MZ making obvious that it's supported only then ![]() And YES, the docs could be improved a bit: - Sign of conditional jumps - Core vs macros - PE support core vs macros - Warn about "unsafe" instructions - Split off 64-bit and SSE from main manual |
|||
![]() |
|
< Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2025, Tomasz Grysztar. Also on GitHub, YouTube.
Website powered by rwasa.