I've found this macro in a project:

pusho  macro lbl
            local __tmp
            call __tmp
            jmp lbl
__tmp    endm

Someone have an idea of what it does and how???Thanks
Posted on 2005-09-02 03:29:53 by china
pusho  macro lbl
            local __tmp
            call __tmp
            jmp lbl
__tmp    endm

local _tmp???
call _tmp...
jmp to label

lol thats all I know
Posted on 2005-09-02 07:58:04 by shism2
for example, in a prg with macro view over:

...
pusho xxx
....

will expands in:
            ....
            pusho xxx           
            call ??0000
            jmp xxx
??0000  ....

I' think.... but i'm not sure where label ??0000 is put. this macro would return offset of a function, but i don't understand how. the key of this problem, for me, is in the call, that put in the stack the rva at the next instruction (jmp), instead for work it must put the offset xxx. someone know if call before a jmp do it?
Posted on 2005-09-02 09:40:25 by china
What assembler are you using? When I try to call pusho, MASM says "unmatched macro nesting". It seems the macro doesn't use MASM syntax.
Posted on 2005-09-05 13:25:35 by MazeGen