flat assembler
Message board for the users of flat assembler.

Index > Unix > Disassembled .o shows only file format,

Author
Thread Post new topic Reply to topic
cvfirefox



Joined: 17 Oct 2008
Posts: 5
cvfirefox 17 Oct 2008, 01:55
Code:
# Copyright 1998-2004 - Just For Fun Software, Inc., all rights reserved
# Author:  George Woltman
# Email: woltman@alum.mit.edu
#

# ********************************************************
# ********************************************************
# ********************  FFT MACROS  **********************
# ********************************************************
# ********************************************************

## Perform a 32-element FFT.

.macro fft32
LOCAL   b1b, c1b

## Do a forward FFT only

.if      type EQ 1
 call    x32_fft
 jmp     xmiddle_1
       .endif

## Do a squaring

.if      type EQ 2
 call    x32_fft
 call    xmiddle_2
##      jmp     x32_finish_unfft
.endif

## Do a multiply

.if      type EQ 3
 call    x32_fft
 call    xmiddle_3
 jmp     x32_finish_unfft
.endif

## Do a multiply with pre-FFTed inputs

.if      type EQ 4
 call    xmiddle_4
 jmp     x32_finish_unfft
.endif

## Do FFT levels 1,2,3
## Values 0-31 is real data.
##
## On input the 32-byte cache lines hold these data values:
##      0       16      1       17
##      2       ...
##      ...     ...
##      14      ...
## On output the 32-byte cache lines hold these data values:
##      0       4       1       5
##      2       ...
##      8       ...
##      ...

## Do 4 eight_reals_first_fft macros
##      distance between fft data elements is 4

.if      type EQ 1
x32_fft:
        copy_7_words
 subl    %eax,%eax
b1b: disp eight_reals_first_fft, 4*dist1, 8*dist1, 8
 leal    dist1(%esi),%esi        ## Next source pointer
 addb    $256/4, %al             ## Test loop counter
 jnc     b1b                     ## Iterate if necessary
 leal    esi-4*dist1,%esi        ## Restore source pointer

## End common FFT code

 ret
.endif

## Do inverse FFT levels 1,2,3
## On input the 32-byte cache lines hold these data values:
##      0       4       1       5
##      2       ...
##      8       ...
##      ...
## On output the 32-byte cache lines hold these data values:
##      0       16      1       17
##      2       ...
##      ...     ...
##      14      ...

## Do 4 eight_reals_last_unfft macros
##      distance between fft data elements is 4

.if      type EQ 2
x32_finish_unfft:
c1b: disp eight_reals_last_unfft, 8, 4*dist1, 8*dist1
 leal    dist1(%esi),%esi        ## Next source pointer
 addb    $256/4, %al             ## Test loop counter
 jnc     c1b                     ## Iterate if necessary
 leal    esi-4*dist1,%esi        ## Restore source pointer
       fft_3_ret
       .endif
       .endm
       .end
    



Hey guys, when I asssembled this AT&T macro file to .o and I disassembled it with objdump, it only shows the file format instead of the binary and source codes. What is wrong with the source codes here? Need to know it because it is urgent.

_________________
-If you ain't first, then you're last.
Post 17 Oct 2008, 01:55
View user's profile Send private message Reply with quote
revolution
When all else fails, read the source


Joined: 24 Aug 2004
Posts: 20445
Location: In your JS exploiting you and your system
revolution 17 Oct 2008, 02:06
Urm, this is a fasm forum, you know that right?

But, however, I think the answer is clear. Defining macros will not generate any code. You have to use the macro in some way. Kind of like a recipe for meatloaf, the recipe itself is not edible, but if you get some real ingredients and follow the instructions within then you get a nice meal. Nice, that is, assuming that you are not a vegetarian.
Post 17 Oct 2008, 02:06
View user's profile Send private message Visit poster's website Reply with quote
dogman



Joined: 18 Jul 2013
Posts: 114
dogman 23 Jul 2013, 14:01
Depends whether you write the recipe on rice paper or eggroll skins. But yeah Razz

To the OP, write an assembly stub and invoke your macro!
Post 23 Jul 2013, 14:01
View user's profile Send private message Reply with quote
bitRAKE



Joined: 21 Jul 2003
Posts: 4073
Location: vpcmpistri
bitRAKE 23 Jul 2013, 18:44
There is an updated version of these codes in MASM format, easier to convert, imho. Hm...over four years - seems OP solved his problem.

Razz

https://github.com/rudimeier/mprime/tree/master/gwnum
Post 23 Jul 2013, 18:44
View user's profile Send private message Visit poster's website Reply with quote
dogman



Joined: 18 Jul 2013
Posts: 114
dogman 23 Jul 2013, 18:49
Haha sorry about that. I guess this forum hasn't had too much activity. I saw it in the first few posts and didn't look at the date.
Post 23 Jul 2013, 18:49
View user's profile Send private message Reply with quote
Display posts from previous:
Post new topic Reply to topic

Jump to:  


< Last Thread | Next Thread >
Forum Rules:
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Copyright © 1999-2025, Tomasz Grysztar. Also on GitHub, YouTube.

Website powered by rwasa.