Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!


Forgot your password?
Programming Software

x86 Assembler JWASM Hits Stable Release 209

Odoital writes "January 2010 is an exciting month for x86 assembly language developers. Software developer Andreas Grech, better known to the x86 assembly language community and the rest of the world by his handle "japheth," has released another version of JWASM — a steadily growing fork of the Open Watcom (WASM) assembler. The main benefit of JWASM, arguably, is the nearly full support of Microsoft's Macro Assembler (MASM) syntax. As those in the assembly language community may already know, Microsoft's desire to continually support the development of MASM has been dwindling over the years — if only measurable by a decreasing lack of interest, updates and bug fixes — and thus the future of MASM remains uncertain. While Intel-style syntax x86 assemblers such as NASM have been around for a while, JWASM opens up a new possibility to those familiar with MASM-style syntax to develop in the domains (i.e. other than Windows) in which assemblers such as NASM currently thrive. JWASM is a welcomed tool that supplements the entire x86 assembly language community and will hopefully, in time, generate new low-level interests and solutions."
This discussion has been archived. No new comments can be posted.

x86 Assembler JWASM Hits Stable Release

Comments Filter:
  • by tjstork ( 137384 ) <todd...bandrowsky@@@gmail...com> on Friday January 29, 2010 @04:01PM (#30953980) Homepage Journal

    To know how abandoned MASM really is... try and make an assembler project in 64 bit under Visual Studio 2008. It's not even supported out of the box - like, they never actually tested the configuration.

    But, for all that, I prefer YASM as the assembler. Still, congrats to the OpenWatcom port.. NICE WORK. It's always good to have more hands in an area that so many people see as dead.

  • xor my heart (Score:5, Interesting)

    by RabidOverYou ( 596396 ) on Friday January 29, 2010 @04:04PM (#30954034)
    I loved saying in an interview "I see you have x86 assembler on your resume". The color drains from the kid's face, I give 'em a snippet:

    xor ax,dx
    sub ax,dx

    It's nothing rocket, just some fun with 2s-complement.

    -- Rabid
  • I'll ask it (Score:3, Interesting)

    by jgtg32a ( 1173373 ) on Friday January 29, 2010 @04:22PM (#30954332)

    What's the difference between all of these different Assemblers? Aren't they all just x86, AMD64, or IA32

  • by Anonymous Coward on Friday January 29, 2010 @04:31PM (#30954442)

    I still weep slightly when I think of Watcom and their products. They were, by far, among the best out there in the 1980s and early 1990s. I mean, they made Borland's offerings look like garbage, and Borland was pretty damn good at that time, too.

    Their assembler and C and C++ compilers were fucking amazing. Nobody generated faster code than them. I remember once moving some code from Microsoft's C++ compiler to Borland C++, and getting a 5 times speedup. Then we moved it from Borland C++ to Watcom C++, and got an additional 8 times speed improvement! We were totally blown away. Their code generator was just that much better than that of much larger competitors.

    Watcom SQL was another gem. So much faster than the competition, but also so much easier to use and develop for. It's good to know that Sybase has kept this product alive and well.

    To see such a small shop create some high-quality products is truly a testament to the fantastic talent that they had working there. It saddened me greatly to see them consumed by Powersoft, and then Sybase.

  • why? (Score:4, Interesting)

    by Lord Ender ( 156273 ) on Friday January 29, 2010 @04:35PM (#30954502) Homepage

    What is primary use of assembly these days? I thought C gave you the same level of control, but with portability and much-improved readability.

    And to give you an idea of where this question is coming from, the last app I wrote was a web app runs in JRuby, using DataMapper to free me from dealing with SQL and Sinatra to free me from dealing with HTTP/CGI. It runs on the Google App Engine cloud. My world is so high-level, with so many layers of virtualization and encapsulation, that I can barely see assembly way down there at the bottom of the stack...

  • Re:xor my heart (Score:3, Interesting)

    by TheRaven64 ( 641858 ) on Friday January 29, 2010 @05:01PM (#30954932) Journal
    Do you hire people who need to know obscure bits of x86 asm often, or is this just a way of catching people who exaggerate on their CVs?
  • That's good news (Score:3, Interesting)

    by bl8n8r ( 649187 ) on Friday January 29, 2010 @05:29PM (#30955350)

    msg db 'Because I kinda like assembly.$'
    mov ax, seg msg
    mov ds, ax
    mov ah, 9
    int 21h
    mov ax, 4c00h
    int 21h

  • IDA Pro (Score:3, Interesting)

    by mpsmps ( 178373 ) on Friday January 29, 2010 @05:42PM (#30955562)
    It's far from cheap (let alone free) and it's not an assembler, but IDA Pro [hex-rays.com] is indispensible for anyone who needs to develop, analyze, or debug code in assembler. It can't assemble code for you but it does everything else ( http://www.hex-rays.com/idapro/pix/idalarge.gif [hex-rays.com]) you've thought of and many you haven't.
  • Re:xor my heart (Score:3, Interesting)

    by RicktheBrick ( 588466 ) on Friday January 29, 2010 @06:21PM (#30956082)
    In the year 1973 I was employed by a company called Cascade Data. It was located in Cascade Michigan which was close to Grand Rapids. I was a computer programmer at the time. They manufactured computers that started with 16k bytes of magnetic core memory and could be double to 32k. They had a 5 Megabyte hard drive but most used a tape drive for storage. Input was from a typewriter like device as one would type in on a keyboard and the output was on paper. I wrote programs in both RPG and assembly languages. The computer was an eight bit processor so the registers were eight bits. This meant that the maximum number that a register could hold was 255. Just adding two numbers was fun since one would have to do add the least significant byte of one to its least significant byte of the other and than check for overflow and continue with the next byte. There were no multiply or divide instruction. To multiple 19 times 20 one would add 19 to a register 20 times. To divide 200 by 20 one would subtract 20 from 200 until one got a zero or negative number. It was not that much fun to program in assembly language but your program always took about half the memory that a RPG program did and with only 16k bytes of memory on some system, some programs just needed to be written in assembly. Unfortunately for me the company did not last very long as I was employed for only 6 months. The country fell into another recession and I got tired of looking for work so I went into the military. Today a 64 bit register will hold a number of 1.84 X 10 raised to the 19th power or at least 18 significant bytes so even the national debt would fit into one register. So it must be a little bit easier to program today than it was in 1973. After, I was asked to modify a existing program by one of their customers. They gave me two big boxes of computer cards and a printout of the program. I had to find the place where I wanted to modify the program and remove and replace the cards I needed to. Unfortunately two of the cards got interchanged and some time was spent troubleshooting it to locate the problem. I can only laugh when I think about it and how much easier it is today.
  • Re:Wikiwars (Score:2, Interesting)

    by stupido ( 1353737 ) on Friday January 29, 2010 @07:47PM (#30957176)

    "Deleted" articles don't get deleted from the Wikipedia database at all. They just get hidden from the public. An administrator can undelete them at any time. So, there's no monetary saving involved. Arguably, plain spam should be removed from the site, but JWASM is obviously not that. It is even discussed in Fog Agner's book, which normally meets the requirements for a Wikipedia article. See my post [slashdot.org] above. I can't be bothered to read the insanely long deletion discussion to see why that's not enough for them. What's more funny is that they now argue that having a Slashdot story doesn't matter because popularity is not the same as "notability". Go figure.

  • Re:Wikiwars (Score:5, Interesting)

    by BikeHelmet ( 1437881 ) on Friday January 29, 2010 @09:14PM (#30958058) Journal

    Articles about old hardware often get deleted too. Socket A motherboards and stuff. I've seen articles on older cellphone SoCs and their companies vanish as well. Apparently never getting large and then finally going out of business means you don't deserve to be noted in history.

  • jello stacking (Score:4, Interesting)

    by epine ( 68316 ) on Friday January 29, 2010 @09:21PM (#30958116)

    I never got a five times speedup over Microsoft, but we consistently got 30% reduction in code size, which on a 640KB machine is not to be sneezed at. A big part of that was the excellent register calling conventions and pragma support.

    The reality is that Watcom C++ was crushed by Microsoft Visual C++ which had a slick interface lashed onto appalling C++ language support. This was an era when anything slapped in a box was saleable software.

    People forget that before eyeballs displaced profit, fatuousness displaced quality. It didn't matter very much if the feature worked as advertised. Software users, like deluded sports fans, believed that hope springs eternal. Maybe it would work in the next version? Sadly, programmers fell for the hype just as often as the end consumers. RIP Watcom.

    The day Watcom packed it in—effectively about a version before their last release—I knew that quality had lost the race for many years to come. I didn't have it in me for a career in jello stacking, so I went off for a while to do my own thing. These days, quality is back on the table, for jobs that no longer exist. But if they did, it would be good times again.

    Bill Watterson really knew what he was doing when he drew all those snowmen in the first half of the 1990s.

"Tell the truth and run." -- Yugoslav proverb