View previous topic :: View next topic |
Author |
Message |
Stylo Grandmaster Cheater Supreme
Reputation: 3
Joined: 16 May 2007 Posts: 1073 Location: Israel
|
Posted: Fri Oct 16, 2009 12:40 pm Post subject: best assembler to program? |
|
|
so far i'v been trying
fasm
nasm
masm
and couldn't decide which assembler to stick to since each assembler has a different base format of a program and it's driving me crazy
what is your recommendation ?
|
|
Back to top |
|
 |
Flyte Peanuts!!!!
Reputation: 6
Joined: 19 Apr 2006 Posts: 1887 Location: Canada
|
Posted: Fri Oct 16, 2009 3:22 pm Post subject: |
|
|
FASM
|
|
Back to top |
|
 |
Stylo Grandmaster Cheater Supreme
Reputation: 3
Joined: 16 May 2007 Posts: 1073 Location: Israel
|
Posted: Sat Oct 17, 2009 12:42 am Post subject: |
|
|
okay thanks but
is there any good manual / tutorial to use that assembler?
cuz i remember back from school the format of TASM program that goes like
Code: |
.model small
.stack 100h
.data
.code
start:
end start
|
now when i write it on fasm and try to compile it of course i get errors with my code
|
|
Back to top |
|
 |
hcavolsdsadgadsg I'm a spammer
Reputation: 26
Joined: 11 Jun 2007 Posts: 5801
|
Posted: Sat Oct 17, 2009 2:13 am Post subject: |
|
|
look on the FASM forums.
Code: | org 100h
use16
insert bios interrupt call here |
|
|
Back to top |
|
 |
Stylo Grandmaster Cheater Supreme
Reputation: 3
Joined: 16 May 2007 Posts: 1073 Location: Israel
|
Posted: Sat Oct 17, 2009 2:30 am Post subject: |
|
|
oh thanks..
but how can i create an exe file?
when i compile my code i get COM file ?! even though it is executable
|
|
Back to top |
|
 |
hcavolsdsadgadsg I'm a spammer
Reputation: 26
Joined: 11 Jun 2007 Posts: 5801
|
Posted: Sat Oct 17, 2009 4:23 am Post subject: |
|
|
i assumed you were gonna start with 16 bit com
use
Code: | format MZ
stack 100h |
instead
|
|
Back to top |
|
 |
Stylo Grandmaster Cheater Supreme
Reputation: 3
Joined: 16 May 2007 Posts: 1073 Location: Israel
|
Posted: Sat Oct 17, 2009 4:33 am Post subject: |
|
|
that's great :]
where did u learn all that?
is there any good tutorial for it?
|
|
Back to top |
|
 |
AIva1110 Advanced Cheater
Reputation: 0
Joined: 16 Sep 2009 Posts: 56 Location: The Void
|
Posted: Sat Oct 17, 2009 9:08 am Post subject: |
|
|
for hobbyist definitely FASM, open source assembler, generated code is just neat, i prefer the way it was built too makes organizing data easier. Yes there are very indepth tutorials for assembler but you will have to find most of them yourself because I don't feel like searching for them now. first http://win32assembly.online.fr/ there is also fasm version of these, just dont remember where, I have them on my hd though. Also gopit's tutorials on masm, those will teach what is more interesting and relevant for reverser or gamehacker. Finally you might want to check webster site, which is HLA website. It contains best documentation, most of theory can be adapted to any assembler. For instruction reference you can check intel manuals, which you will find yourself.
_________________
|
|
Back to top |
|
 |
Slugsnack Grandmaster Cheater Supreme
Reputation: 71
Joined: 24 Jan 2007 Posts: 1857
|
Posted: Sun Oct 18, 2009 5:18 pm Post subject: |
|
|
GoASM
|
|
Back to top |
|
 |
igoticecream Grandmaster Cheater Supreme
Reputation: 0
Joined: 23 Apr 2006 Posts: 1807 Location: 0x00400000
|
Posted: Sun Oct 18, 2009 6:20 pm Post subject: |
|
|
i started with emu8086, (yes, 16bits)(note that x86 is based on 8086) it has an integrated debugger and all is low level stuff like interrupts.(not like the shit of MASM that all is a macro, and you aren't learing shit from it).
give it a shot http://emu8086.com/
_________________
+~ |
|
Back to top |
|
 |
Slugsnack Grandmaster Cheater Supreme
Reputation: 71
Joined: 24 Jan 2007 Posts: 1857
|
Posted: Sun Oct 18, 2009 6:41 pm Post subject: |
|
|
Learning 16 bit is pretty pointless and a waste of time. Many of the concepts that are essential there are irrelevant in modern computing. Segmentation, etc.
|
|
Back to top |
|
 |
igoticecream Grandmaster Cheater Supreme
Reputation: 0
Joined: 23 Apr 2006 Posts: 1807 Location: 0x00400000
|
Posted: Mon Oct 19, 2009 7:12 am Post subject: |
|
|
It give you an idea, of course you are not gonna stick with it
_________________
+~ |
|
Back to top |
|
 |
Bswap Newbie cheater
Reputation: 0
Joined: 18 Aug 2009 Posts: 21
|
Posted: Mon Oct 19, 2009 7:29 am Post subject: |
|
|
I'm not sure what people have against MASM but I can't flaw it.
It's just about all I use when it comes to asm. The biggest downside IMO is an inability to manually set section access rights in code. This can easily rectified with a linker switch or using any good PE editor post compilation.
To the claim one learns nothing from it's macro handling - this is so far off it's not funny. The macro ability is very powerful and not too dissimiliar to C preprocessor feature. INVOKE is a macro granted but it does not mean people, to borrow a quote - 'learn shit'.
MASM has arguably the biggest user base and without a doubt is the most supported, documented and resourced. It is alsounique from other assemblers in that it supports HLA and low-level code demands.
|
|
Back to top |
|
 |
Stylo Grandmaster Cheater Supreme
Reputation: 3
Joined: 16 May 2007 Posts: 1073 Location: Israel
|
Posted: Mon Oct 19, 2009 8:26 am Post subject: |
|
|
i'll tell you what i don't really like in MASM
is that i cannot program in pure asm (maybe there's an option to do it i don't know, and if u do please tell me)
i saw once masm syntax and all i could see is invoke <api name>
or i saw main procedure declared exactly as it is in C
i don't all that
|
|
Back to top |
|
 |
AIva1110 Advanced Cheater
Reputation: 0
Joined: 16 Sep 2009 Posts: 56 Location: The Void
|
Posted: Mon Oct 19, 2009 10:51 am Post subject: |
|
|
best documented assembler is not masm , it is hla. And you can program in pure opcodes in masm if you want. The reason why you saw such code is because people get tired of typing in same shit all the time so they make constructs. Invoke apiname can be replaced by push arg1 push arg2 call blablaApi. The main does not exist in masm, it was simply adapted by that person for convenience since he most likely is used to c.
_________________
|
|
Back to top |
|
 |
|