Results 1 to 23 of 23

Thread: Why?

  1. #1

    Thread Starter
    VBA Nutter visualAd's Avatar
    Join Date
    Apr 2002
    Location
    Ickenham, UK
    Posts
    4,906

    Why?

    I know this is a strange question but what uses does assembly have.

    Is it used to program EPROM's or something?

  2. #2
    KING BODWAD XXI BodwadUK's Avatar
    Join Date
    Aug 2002
    Location
    Nottingham
    Posts
    2,176
    Assembly is low level code and can be used to interact with devices and motherboards. VB is a high level system and although simpler has a much more restricted Scope as you cannot manipulate devices directly!!!

    If you wanted to create an OS you would Probably use Assembly but otherwise if you want an app to work in Windows you would use VB


    Hope That Helps
    If you dribble then you are as mad as me

    Lost World Creations Website (XBOX Indie games)
    Lene Marlin

  3. #3
    Kitten CornedBee's Avatar
    Join Date
    Aug 2001
    Location
    In a microchip!
    Posts
    11,594
    Assembly is useful in high-level programming because it can seamlessly be embedded into C/C++ apps. Since assembly correspondends directly to CPU instructions you can use this feature to write extremly fast code. For example you would probably want to write a loop that is called a few hundred times during an operation in assembly and get a 5-10% speed bonus (or more if your C/C++ compiler is bad).

    Assembly is very much used in professional game programming.
    All the buzzt
    CornedBee

    "Writing specifications is like writing a novel. Writing code is like writing poetry."
    - Anonymous, published by Raymond Chen

    Don't PM me with your problems, I scan most of the forums daily. If you do PM me, I will not answer your question.

  4. #4
    Member
    Join Date
    Dec 2002
    Location
    Miami,FL
    Posts
    34
    especially in Handheld devices like the GameBoy Advance in which u want all the speed u can muster
    Death is always smiling down on us, the only thing we can do is smile back

  5. #5
    Kitten CornedBee's Avatar
    Join Date
    Aug 2001
    Location
    In a microchip!
    Posts
    11,594
    Game Programmers always want all the speed they can muster, even on a 2.5GHz CPU with a DX9 compatible graphics card.
    All the buzzt
    CornedBee

    "Writing specifications is like writing a novel. Writing code is like writing poetry."
    - Anonymous, published by Raymond Chen

    Don't PM me with your problems, I scan most of the forums daily. If you do PM me, I will not answer your question.

  6. #6
    New Member
    Join Date
    Dec 2002
    Location
    USA
    Posts
    10
    Game engines.

  7. #7
    Hyperactive Member
    Join Date
    Jun 2002
    Posts
    299
    game engines and mechanical. more intense levels of encoding/decoding also require this, as well as handheld devices where space/speed is limited.
    If I agree with you today, don't get used to it.

  8. #8
    Kitten CornedBee's Avatar
    Join Date
    Aug 2001
    Location
    In a microchip!
    Posts
    11,594
    Yep, the Java Micro Edition is an oxymoron...
    All the buzzt
    CornedBee

    "Writing specifications is like writing a novel. Writing code is like writing poetry."
    - Anonymous, published by Raymond Chen

    Don't PM me with your problems, I scan most of the forums daily. If you do PM me, I will not answer your question.

  9. #9
    Junior Member
    Join Date
    Jul 2002
    Posts
    16
    I have a question.
    Will assembly will remain the only language in the future to interact with the hardware ? I mean to say that , will there be any other language developed to be similar to assembly as well as a little bit easy ?

    Just curious about it.

  10. #10
    Junior Member
    Join Date
    Jul 2002
    Posts
    16
    No replies yet????

  11. #11
    KING BODWAD XXI BodwadUK's Avatar
    Join Date
    Aug 2002
    Location
    Nottingham
    Posts
    2,176
    Assembly is a base language that means that many current programming languages are probably coded in assembly, the point of these programming languages is to remove the complication and as a result no simpler versions of assembly have been made and probably wont be even though it is possible to do


    P.s Assembly is also used to interact with circuit boards and chips and this is the most common use of assembly these days. All machines that you see like fruit machines and other none computer machines in arcades will probably have some assembly code behind them
    If you dribble then you are as mad as me

    Lost World Creations Website (XBOX Indie games)
    Lene Marlin

  12. #12
    Junior Member
    Join Date
    Jul 2002
    Posts
    16
    Does that mean assembly will be the only language to interact with the hardware say after 5yrs from now i.e only assembly will be used?

  13. #13
    KING BODWAD XXI BodwadUK's Avatar
    Join Date
    Aug 2002
    Location
    Nottingham
    Posts
    2,176
    Cant predict the future you know
    If you dribble then you are as mad as me

    Lost World Creations Website (XBOX Indie games)
    Lene Marlin

  14. #14
    Kitten CornedBee's Avatar
    Join Date
    Aug 2001
    Location
    In a microchip!
    Posts
    11,594
    Well, some BASIC versions for example had direct commands to interact with hardware. But the BASIC interpreter still had to be written at least partly in Assembly in order to be able to interact with the hardware.

    But it's not about assembly. Only the CPU can interact with hardware, only machine code can do anything at all. All languages are compiled, assembled or interpreted to machine code, directly or via Assembly.
    All the buzzt
    CornedBee

    "Writing specifications is like writing a novel. Writing code is like writing poetry."
    - Anonymous, published by Raymond Chen

    Don't PM me with your problems, I scan most of the forums daily. If you do PM me, I will not answer your question.

  15. #15
    Lively Member
    Join Date
    Oct 2001
    Posts
    80
    My responce to this is very simple, ASM to C++ (or VB) is the same as DOS to Windows (or Linux). It is much more difficult to use, but it will remain as the base. Not many people use dos as their only system now, but when your Windows cashes for the 1000s time, you go right back to DOS and type a:\>format c:

    I am still very much learning c++ as well as asm, one of my latest projects was to design an enviroment for working in 13h graphics mode. Most was c++, functions where speed is the most important part - asm.

  16. #16
    Kitten CornedBee's Avatar
    Join Date
    Aug 2001
    Location
    In a microchip!
    Posts
    11,594
    Originally posted by MXK
    My responce to this is very simple, ASM to C++ (or VB) is the same as DOS to Windows (or Linux). It is much more difficult to use, but it will remain as the base. Not many people use dos as their only system now, but when your Windows cashes for the 1000s time, you go right back to DOS and type a:\>format c:
    Uh...

    DOS is the base only of Win9x, WinNT+ has done away with it.
    And Linux never had anything to do with DOS except that GNU/Linux is a UNIX-like OS and the DOS interface was oriented after the UNIX interface (cd anyone?)
    All the buzzt
    CornedBee

    "Writing specifications is like writing a novel. Writing code is like writing poetry."
    - Anonymous, published by Raymond Chen

    Don't PM me with your problems, I scan most of the forums daily. If you do PM me, I will not answer your question.

  17. #17
    Lively Member
    Join Date
    Oct 2001
    Posts
    80
    Ok well that was a bad analogy, I didn't mean it as though one is built on another, just that one will always be there no matter how much you improve the other.

  18. #18
    Fanatic Member
    Join Date
    Jan 2003
    Posts
    1,004
    Assembler isn't more difficult than higher level programming languages.

    It's just takes longer to program the same thing.

  19. #19
    Hyperactive Member
    Join Date
    Aug 2002
    Posts
    416
    Are you sure asm is used as much as you think in game programming? I'm going into Game Development and I haven't seen asm used at all yet...

    Although, I'm a DX noob yet.... I still haven't seen any asm yet. (I know some asm, I just haven't seen any in game programming)

    I'm going to Full Sail (game programming school) in a few months, so maybe I'll see what you're talking about..... :/

  20. #20
    Good Ol' Platypus Sastraxi's Avatar
    Join Date
    Jan 2000
    Location
    Ontario, Canada
    Posts
    5,134
    Say for example you have a complex lighting algorithm that should be done as fast as possible. You could write it in C++, or you could write it in ASM with optimisations for MMX, MMX2, SSE, SSE2, 3DNow!, 3DNow! Professional, etc. With CPU-specific optimisations becoming not so CPU-specific anymore (Athlons and P4s share MMX, MMX2, and SSE), it's a wise idea to use assembly to speed up complex algorithms....

    Even though this point has become less valid with the introduction of programmable pixel shaders (which is what this would be used for), the main point still stands, and shows that assembly is very useful in games.
    All contents of the above post that aren't somebody elses are mine, not the property of some media corporation.
    (Just a heads-up)

  21. #21
    Fanatic Member
    Join Date
    Jan 2003
    Posts
    1,004
    In game programming, you only see assembler done on short code segments that need optimizations. As I stated earlier, it takes a lot more lines of assember to do the same thing than in a higher level programming language. That's why you have not seen it extensively used.

    Sastraxi, you are just stating a portion of the story. You also have 68000, Z80, MIPS, and a slew of other instruction sets, not just 80x86 (or i386, whichever floats your boat.)

    And its not even ust for games either. You need any algorithm done really fast, assembler is the thing to do.

  22. #22
    Kitten CornedBee's Avatar
    Join Date
    Aug 2001
    Location
    In a microchip!
    Posts
    11,594
    Originally posted by Darkwraith
    Sastraxi, you are just stating a portion of the story. You also have 68000, Z80, MIPS, and a slew of other instruction sets, not just 80x86 (or i386, whichever floats your boat.)
    Only that not very many high-end games are developed for these CPUs...
    All the buzzt
    CornedBee

    "Writing specifications is like writing a novel. Writing code is like writing poetry."
    - Anonymous, published by Raymond Chen

    Don't PM me with your problems, I scan most of the forums daily. If you do PM me, I will not answer your question.

  23. #23
    Fanatic Member
    Join Date
    Jan 2003
    Posts
    1,004
    Why not include Macs (68000) and Game Boys (Z80)?

    I don't have my resource on hand at the moment but I think that MIPS is used for cell phones or PDAs.

    And we cannot neglect graphing calculators...
    Ticalc (Take a look at the archives and you will see what I mean.)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  



Click Here to Expand Forum to Full Width