GIDForums  

Go Back   GIDForums > Computer Programming Forums > Assembly Language
User Name
Password
Register FAQ Members List Calendar Search Today's Posts Mark Forums Read

 
 
Thread Tools Search this Thread Rate Thread
  #1  
Old 21-Jun-2007, 03:01
alcoholic's Avatar
alcoholic alcoholic is offline
Member
 
Join Date: Nov 2005
Posts: 170
alcoholic is on a distinguished road

Assembly Language


I wanted to learn assembly language. So, could anyone provide me the starting source for it-Assembler to be used, any good links for tutorials
__________________
Gravitation is not responsible for people falling in love.
-Albert Einstein
  #2  
Old 25-Jun-2007, 13:53
crystalattice's Avatar
crystalattice crystalattice is offline
Flame War Instigator
 
Join Date: Apr 2004
Location: San Diego
Posts: 1,578
crystalattice is just really nicecrystalattice is just really nicecrystalattice is just really nicecrystalattice is just really nicecrystalattice is just really nice

Re: Assembly Language


Try this: http://www.computer-books.us/assembler.php
__________________
Start Programming with Python-A beginner's guide to programming and the Python language.
-------------
Common Sense v2.0-Striving to make the world a little bit smarter.
  #3  
Old 28-Aug-2007, 16:05
davis
 
Posts: n/a

Re: Assembly Language


I'd probably recommend starting with a very simple assembly language for a simple processor type. The x86 world is CISC, which means "complex instruction set computer." They don't say the "complex" part for nothing. Granted, anyone with a PC (nearly everyone posting on a forum such as this) can participate, but it is a very complicated choice compared to a RISC-based system (reduced instruction set computer).

You may want to consider SPIM.

http://pages.cs.wisc.edu/~larus/spim.html

It is a RISC simulator. One of the good things about it (other than being free) is that if you hose up your code, it is extremely unlikely to crash your computer...whereas hosing up PC assembly can very easily bring the system down.

However, if you are intent on using PC/x86 assembly, you may want to consider using a lowly, old Win9x style box for it. You definitely do not need a lot of speed for most of what you'll want to learn about it.

You can choose to run http://bochs.sourceforge.net/ for PC emulation, which will help keep you from crashing your system if you don't have a spare "box" laying around collecting dust.

My personal recommendation for PC-based learning is that you start with as lowly of an x86 as you can lay your hands on, whether emulated or not, and work up from there. It is especially valuable to learn the 8086 side of the "house" and how the 80386 expanded (dramatically) that world. You can use a '386 to accomplish just about anything that is "modern" in terms of fundamental operating system features that correspond to what the processor provides. A very simple RTOS that is freely available is http://prex.sourceforge.net/. Its 386-centric path will take you well into how the i386 works.

Part of the notion of learning an assembly language is "why?" What use or value is it to you? How do you want to use it? If some of these answers tend to suggest a PC target for the code, then you may want to start with the PC. I think that Borland makes a version of Turbo Assembler available for free...but maybe not. At any rate, you can easily write assembly using the freely available GNU tools. If you want to run them on a Windoze PC, I recommend using http://www.cygwin.com/. It is easy to install the "binutils" (binary utilities) that includes "as" (or gas), which is the GNU Assembler. These tools are free and easy to download, install and update/modify. The GNU tools also support the notion of building cross assemblers should that ever be of interest to you.

If you want to learn assembly, I often recommend getting a low-cost evaluation board and tool set from a microcontroller manufacturer. They often give them away for free by just asking. For example Renesas makes a "H8 Tiny" board that they call a "Board in a Bag" that is a nifty little board that has an incredible amount of functionality. One of the good things about it is that it is CISC, but the instruction set is relatively limited making it more RISC-like...which is easier to use. It is also "big endian," which I think is a cleaner representation of byte ordering for newcomers. There are dozens of other choices, if not hundreds. Again, no one even needs a "board" since there are so many emulation/simulation environments available. However, it is fun to have one, because once you do something that makes it do something, there is a sense of satisfaction in making it work that is quite removed from doing something on a PC, which tends to be rather ubiquitous.

I once told someone that it wasn't a very challenging stretch of the imagination for someone to be able to run something on an PC using Linux, particularly since PC Linux was, at that time, very well advanced from its earlier days of residing source and binary on a single 1.44MB floppy disk. The point being that x86 is somewhat passe in terms of supporting operating systems environments. It is, to me, much more fun to take a new processor and/or a new board and breathe life into it for the first time. Granted, some of these activities may be more than what you're looking to do and do not necessarily involved just assembly language programming.


:davis:
 
 

Recent GIDBlogUS Elections and the ?Voter?s Responsibility? by crystalattice

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Assemblers & assembly language BlueFireCO. Assembly Language 2 26-Mar-2007 10:56
Assembly Language Forum ktm Assembly Language 2 27-Feb-2006 13:41
which language ? onauc C++ Forum 2 19-Nov-2004 03:53
Inline Assembly language mikhail Assembly Language 7 22-Mar-2004 10:06

Network Sites: GIDNetwork · GIDWebHosts · GIDSearch · Learning Journal by J de Silva, The

All times are GMT -6. The time now is 05:20.


vBulletin, Copyright © 2000 - 2008, Jelsoft Enterprises Ltd.