Doy you folks here programme for any of the embeeded systems here too? Are you just programing for x86 architecture?
I decided to learn assembler for x86 first and then later on maybe some embeeded systems, I just want to know if I can get some help here about them.
Ok, so I will use masm and read all the Iczelion tutorials+soem books I already started reading. But Im a big fan of the linux system too and I just want to know if my knowledge of masm assembler willl help me in any linux assembler development.I know that that due to different kernels system calls are different but what about the syntax itself...I noticed that mov command in windows is movl in linux. Are there a lot of differences ?
Posted on 2005-08-14 23:45:51 by blackswan
I don't think there's anything different besides the system-specific stuff, like system calls, so you should benefit a lot from learning win32-asm. after all - x86 is x86. it has the same instrction set regardless of OS installed :) and win32-asm is very easy to start with.

"movl" is not x86 instruction mnemonic, so you probably saw a non-x86 linux program.
Posted on 2005-08-14 23:56:03 by ti_mo_n
cool! Thanks! 8)  Im already digging through tutorials.  :P
Posted on 2005-08-15 00:03:21 by blackswan
Very well :)

While you're playing with Iczelion's tuts, download yourslef a Platform SDK. You'll need it when you're done with the tutorials. You only have to install "core documentation" while you're plying with ASM, however "tools" and "headers" are sometimes useful too.

Good luck and lots of patience while debugging ;)
Posted on 2005-08-15 00:13:48 by ti_mo_n

Very well :)

While you're playing with Iczelion's tuts, download yourslef a Platform SDK. You'll need it when you're done with the tutorials. You only have to install "core documentation" while you're plying with ASM, however "tools" and "headers" are sometimes useful too.

Good luck and lots of patience while debugging ;)


wow! that platform sdk looks huge.  I have also started to read this famous the art of assembly book for w32 systems. But I see that HLA is used as a teaching tool, but I don't really want to learn some strange version of assembler like HLA, it looks like basic to me ;) So Im wondering is this HLA thruout the whole book. And another thing I think that HLA might be slower, because it is translated into the real assembler befor the object code get's linked.

Probably I should just stick with the tutorials for now.
Posted on 2005-08-15 03:44:58 by blackswan


"movl" is not x86 instruction mnemonic, so you probably saw a non-x86 linux program.


So why did the program work on my x86 machine? It probably is mnemonic for the assembler itself. It's a instruction to move numerical values of type long.

Posted on 2005-08-15 03:53:57 by blackswan
Just don't go for GAS(GNU Assembler), supplied with gcc. For embedded systems you can always code in asm, but they often use other cpus than x86. Most often, they use ARM-based cpus - very low power, high speed RISC (reduced instruction set computer). While x86 in its front-end is CISC (complex instruction set computer).

Although cpus vary a lot in their instruction set, the basics (that you will learn with x86) are: registers, instruction pointer, flags, presense of a stack, access to memory via registers as pointers, procedure calls/rets and conditional jumps. It is almost guaranteed that after you learn x86 asm, you will easily master any other cpu's asm in several weeks.
The only unfortunate thing is that on many cpus there is only GCC to use. Imho, most people got scared of asm because of GAS - mildly said, it's horrible to code with it. The good thing is that coding well in asm for embedded systems, pays off well - you often or always beat the C-compiled code two to fifty times in speed.

Be aware that linux is no good as an embedded OS. Dedicated OSes are always better in this case, and linux running on embedded systems is just some fans' rash in trying to prove their beloved OS can run on anything.

Btw, in GAS, the "L" in "MOVL" means "long". "movl" is one of the myriad nagging peculiarities in GAS that make you type more, get less work done, make everything unreadable, and sooner or later pull your hair in despair. For x86 linux, go for NASM or FASM.
Posted on 2005-08-15 05:22:48 by Ultrano

Just don't go for GAS(GNU Assembler), supplied with gcc. For embedded systems you can always code in asm, but they often use other cpus than x86. Most often, they use ARM-based cpus - very low power, high speed RISC (reduced instruction set computer). While x86 in its front-end is CISC (complex instruction set computer).

Although cpus vary a lot in their instruction set, the basics (that you will learn with x86) are: registers, instruction pointer, flags, presense of a stack, access to memory via registers as pointers, procedure calls/rets and conditional jumps. It is almost guaranteed that after you learn x86 asm, you will easily master any other cpu's asm in several weeks.
The only unfortunate thing is that on many cpus there is only GCC to use. Imho, most people got scared of asm because of GAS - mildly said, it's horrible to code with it. The good thing is that coding well in asm for embedded systems, pays off well - you often or always beat the C-compiled code two to fifty times in speed.

Be aware that linux is no good as an embedded OS. Dedicated OSes are always better in this case, and linux running on embedded systems is just some fans' rash in trying to prove their beloved OS can run on anything.

Btw, in GAS, the "L" in "MOVL" means "long". "movl" is one of the myriad nagging peculiarities in GAS that make you type more, get less work done, make everything unreadable, and sooner or later pull your hair in despair. For x86 linux, go for NASM or FASM.


well I know a little of embeeded system programming. I've been using shadow11 for motorolas mc68hc11 simulations, but now im interested in system programming and I need assembler to go with C. btw, linux kernel was once put in a mobile. It only took 4K of space.  :D
ok,thanks for the advices, but Ill be programming in windows for a while.
Posted on 2005-08-15 06:07:38 by blackswan
Some of us have done embedded systems. We do have an Electronics forum for that.

The best forums for embedded systems are electronics forums.
Posted on 2005-08-15 12:46:17 by tenkey
maybe one of my paper would help you started  ;)

Low Cost Embedded x86 Teaching Tool

I assure you that it'll be fun, goodluck  :)
Posted on 2005-08-21 10:15:26 by Pinczakko