There's no such thing as a stupid question, but they're the easiest to answer.
JoinTour
Login
 
Software Development
Tag Cloud
audio blue screen boot bsod computer cpu crash dell desktop driver drivers error excel external hard drive firefox freezes freezing hard drive hardware hijackthis internet internet explorer ipod itunes laptop malware motherboard mouse network networking outlook 2007 power printer problem ram router screen slow sound trojan upgrade usb virtumonde virus vista vista 32-bit windows windows xp winxp wireless
Search
Search in:
 
Advanced Search
Tech Support Guy Forums > Software & Hardware > Software Development >
What is Assembly Language?


Computer problem? Tech Support Guy is completely free -- paid for by advertisers and donations. Click here to join today! If you're new to Tech Support Guy, we highly recommend that you visit our Guide for New Members. Enjoy!

Closed Thread
 
Thread Tools
Regicide's Avatar
Senior Member with 304 posts.
 
Join Date: Aug 2003
Experience: Advanced
30-May-2004, 03:39 AM #1
What is Assembly Language?
Like the topic says, I was wondering if anyone had any good explainations of it and how/why it is used. I've heard about it but know nothing about it.
Shadow2531's Avatar
Distinguished Member with 2,629 posts.
 
Join Date: Apr 2001
30-May-2004, 09:17 AM #2
I know little about programming in assembly, but in linux I've had to use nasm quite a bit to compile a lot of programs because part of those programs were written in assembly. Those parts were written in assembly so they would be faster, more efficient and have a smaller compiled file size. (certain parts of a program require that they load superfast and hog almost zero resources).

In using the old tandy CC3s, assembly was always referred to as "machine language programming". That's because it's low level programming where your code reflects actual processor instructions as opposed to other languages where you would write print "this" and input "that" and judt have the compiler take care of it. With assembly programming, you can have more control (sometimes) of what the processor is doing.

Here's nasm. It's a command line assembler. Compared to any other, I think it's the best, easiest to download and use. (for windows or linux)
http://nasm.sourceforge.net/wakka.php?wakka=HomePage

BTW, Steve Gibson from grc.com writes all his programs in assembly. Mainly because the programs that are produced are so small in size.

I think assembly is a pain just because I haven't got the hang of it yet. c++ is so much easier, but the compiled programs in c++ are not as small.

Also in assembly, you have to type a lot of code (compared to other languages) just to do something simple.

Here are a bunch of "Hello World" programs in assembly for different processors.

http://www.cuillin.demon.co.uk/nazz/...assembler.html

Other can build on that... (searching google helps too)
__________________
10 ? "a line as the unending horizon"
20 ? "a curve as the rolling hillside"
30 ? "a point as a distant bird"
40 ? "a ray as the rising sun"
run

Last edited by Shadow2531 : 30-May-2004 09:23 AM.
codejockey's Avatar
Senior Member with 1,410 posts.
 
Join Date: Feb 2002
30-May-2004, 10:39 AM #3
Assembly language is a low-level language that provides mnemonics for the binary values used as instructions by the CPU. So, for example, instead of having to remember that 10010011 means "add", you can write ADD. The assembler (a program) translates your assembly language instructions (ADD) into the actual binary values used by the CPU.

Assembly language is processor-specific; you can't, for example, directly run Motorola 68000 assembly code on an Intel 8086 processor because (1) the processors have different instruction sets and (2) the binary values for the same instruction on each processor are likely to be different (e.g., ADD is not the same value on each chip).

The advantages of assembly language include speed, minimal code size and relatively direct access to all features of the CPU; the disadvantages are lack of portability and difficulty of coding.

Hope this helps.
__________________
The slowest component still sits at the keyboard.
Regicide's Avatar
Senior Member with 304 posts.
 
Join Date: Aug 2003
Experience: Advanced
30-May-2004, 12:18 PM #4
What kind of output is Assembly? Like is it a normal shell window?
codejockey's Avatar
Senior Member with 1,410 posts.
 
Join Date: Feb 2002
31-May-2004, 03:01 AM #5
Not sure I understand your question, but hopefully some of this will be relevant:

An assembler takes assembly language source statements (basically, a text file) and produces a binary file as output. The binary file may be a standalone executable or a module that will be processed by the linker.

An assembler usually runs as a batch process (i.e., not interactively), and often as the final step in compiling a program written in a high-level language such as C, BASIC or COBOL. The compiler translates the high-level language source statements into assembly code, after which the assembler runs to translate the generated assembly code to binary.

Hope this helps.
__________________
The slowest component still sits at the keyboard.
Closed Thread

THIS THREAD HAS EXPIRED.
Are you having the same problem? We have volunteers ready to answer your question, but first you'll have to join for free. Need help getting started? Check out our Welcome Guide.


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
WELCOME TO TECH SUPPORT GUY! Are you looking for the solution to your computer problem? Join our site today to ask your question -- for free! Our site is run completely by volunteers who want to help you solve your computer problems. See our Welcome Guide to get started.



Thread Tools


You Are Using:
Server ID
Advertisements do not imply our endorsement of that product or service.
All times are GMT -4. The time now is 12:10 PM.
Copyright © 1996 - 2008 TechGuy, Inc. All rights reserved.
Powered by vBulletin, Copyright © 2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.1.0
Powered by Cermak Technologies, Inc.