Exploring the World of Assembly Language Programming: A Forum Discussion

  • Thread starter ChrisLeslie
  • Start date
  • Tags
    x86
In summary, the conversation discusses the use of assembler programming among forum members, the different types of assemblers and their advantages and disadvantages, the capabilities of assemblers compared to high-level languages, preferences for 16 or 32-bit programming, and the reasons for using assemblers, such as for precise machine code instructions or for programming at a chip level. The use of assemblers in various applications, such as shader routines and graphic systems in games, is also mentioned. It is noted that while a good optimizing compiler can often generate more efficient code, assemblers may still be necessary for specific tasks that require precise control over the machine code.
  • #1
ChrisLeslie
Just curious about how many forum members use assembler programming, and:
1. what sort of assembler they may use,
2. the pros and cons of various assemblers,
3. capability of assemblers vs HLL's,
4. their thoughts on 16 vs 32 bit,
5. and why they may use assemblers at all?

Chris
 
Technology news on Phys.org
  • #2
Not something I know much about but I would imagine that it'd only be used for the tightest of loops, things like shader routines for video processors and stuff. An interesting use of assembler was the graphic system in Quake, they couldn't quite get it to run well on a 486 but nevertheless I think it was a great achievement.
 
  • #3
A good optimizing compiler (and there are a lot of bad ones!) should be able to generate code that runs tighter than "simple-minded" hand-optimised assembler, because the compiler writers should know more details about exactly how the CPU works than most application programmers. For example, reordering instructions to get maximum overlap of fetch-execute, look-ahead branch resolution, optimum use of the cache, etc.

I suspect the main reason for using an assembler now would be if you need to generate some precise sequence of machine code instructions for some reason - for example at power on reset, or putting the CPU into "sleep mode" and waking it up again.
 
  • #4
My brother-in-law used assembly for chip level programing, if you ahve to make a process work in micro-seconds you use assembly. Th Linux compilers are pretty good, last time i tried the microsoft version of assembly lanugauge wasn't too bad either.
 

1. Who typically uses x86 assemblers?

X86 assemblers are typically used by software developers, computer engineers, and other professionals working in the field of computer programming. They are also commonly used by hobbyists and students learning about low-level programming.

2. What are the advantages of using x86 assemblers?

X86 assemblers provide a low-level programming interface that allows for precise control over hardware resources and efficient code execution. They also offer the ability to directly access and manipulate memory, making them useful for tasks such as writing device drivers and operating system components.

3. Are x86 assemblers still relevant in modern computing?

Yes, x86 assemblers are still widely used in modern computing, especially in embedded systems, operating systems, and low-level programming tasks. While higher-level languages may be more commonly used for general programming, x86 assemblers are still essential for certain specialized tasks.

4. Can x86 assemblers be used for cross-platform development?

Yes, x86 assemblers can be used for cross-platform development, as long as the target platforms use the x86 architecture. This includes popular operating systems such as Windows, macOS, and Linux, as well as many embedded systems and mobile devices.

5. What are some popular x86 assemblers?

Some popular x86 assemblers include NASM (Netwide Assembler), TASM (Turbo Assembler), MASM (Microsoft Macro Assembler), and FASM (Flat Assembler). Each assembler has its own syntax and features, so it is important to choose the one that best suits your needs and preferences.

Similar threads

  • Programming and Computer Science
Replies
5
Views
3K
  • Engineering and Comp Sci Homework Help
Replies
7
Views
2K
  • Programming and Computer Science
2
Replies
60
Views
16K
  • Programming and Computer Science
Replies
15
Views
10K
  • Sticky
  • Programming and Computer Science
Replies
13
Views
4K
  • Mechanical Engineering
Replies
6
Views
256
  • Set Theory, Logic, Probability, Statistics
2
Replies
40
Views
6K
  • Programming and Computer Science
Replies
29
Views
2K
  • Programming and Computer Science
Replies
31
Views
5K
Back
Top