Assembly language programming in unix environment
freeburn
hossain at finder-lbs.com
Mon Sep 21 00:23:29 UTC 2009
On Mon, 2009-09-21 at 04:02 +0000, Christopher Lemire wrote:
> Freeburn. As of now, all I know is quite a bit about java, data
> structures algorithms and efficient ones,etc but I haven't learned
> anything lower than c++ I do want to learn asm. I have an amd 64 bit
> proc dual core. I can provide more info on it if needed. I run 2.6.31
> kernel I compiled and configured. All of what I know about low level
> is just basic concepts from talking to developers and computer science
> professors. I do know its very tedious and very efficient and the cpu
> specific such as mips. What do you suggest. I absolutely hate coding
> in windoze. Don't get me started on visual, net, sharp and other crap.
> I want to code in asm for my proc. Can u give me some pointers,
> advice, getting started. Feel free to contact me offlist as well. I'm
> sure we could learn a lot from each other and my blog shares to the
> linux community what I know as well.
> http://linuxinnovations.blogspot.com
Dear Christopher Lemire
u have an AMD processor which is kind of difficult to program. AMD is
RISC processor whereas intel is CISC. and we were taught all about CISC
processor. so i know how to program intel processors. and as far as i
know programming RISC machine is way more difficult than CISC one. you
see in CISC architecture one instruction can be decoded by the processor
by several steps. where as in RISC architecture this is not true. here
the processor is less intelligent so the instructions has to be further
broken apart for the processor. thats why it is more cumbersome coding
for RISC machine. i have part time job in a company which specialises in
embedded systems. we have to use different micro-controllers. most of
them uses AVR family of microprocessors. when we program them we always
try use "c" . but sometimes we jsut have to use assembly language when
the memory of that system is severely low and when we need very high
efficiency in speed. and i'm telling you ,programming RISC processors is
a quiet a tusk. firstly u need an assembler and some documents about
your microprocessor for basic information like number of registers,
addressing modes, memory interfacing, stack organisation etc. i'm
suggesting a book which can be very helpful "Guide to assembly language
programming in linux" by sivaram dandmudi published by springer. i have
better books about aseembly language but they all are about intel
processors.
the hardest thing will be finding an assembler. i use nasm. but its for
x86 processor. i dont know any other assembler in linux. i know some in
windoze but its good to stay away from buggy windoze software(:D)
in my office the assembler i use for RISC AVR processor is no good for
you, cause its a native assembler made for AVR processors.
one of my teacher has expertise in RISC machine, i'll consult with him.
thanks for asking me this.
More information about the ubuntu-users
mailing list