Section 9.1: The history of assembler programs (Frame 6)                     [prev][home][next]

Since different computers have different sets of instructions and different ways of encoding operands, their assembler languages differ, too. In fact, there is little or no uniformity among the various vendors' computers with regards to assembly language, although there are many similarities. All assemblers have a way to load and store values from memory and all of them have ways of accessing the arithmetic circuits of the ALU, such as ADD, SUB, and so forth. But there are many differences, too, and the assemblers reflect this. Thus, if you know one assembler language for one computer, you may have to invest a lot of time to learn the assembler language of a different computer, although most of the concepts will transfer.

Within a certain vendor's line of computers, the machine code and the assembler languages tend to be identical. For example, the IBM 360 series, which was the world's first line of compatible computers, introduced in 1965, used a common machine language and assembler language. Since the models were upwardly compatible, if a company bought a cheap machine like an IBM 360/30 and wrote programs for it, those same programs would run without any modifications on a bigger model like am IBM 360/60, although the converse was not true. Some of the larger computers added extra machine instructions to improve performance or handle special tasks, which allowed IBM to charge more for them. Most computer manufacturers do something of the same thing even today.