Book contents
- Frontmatter
- Contents
- Preface
- 1 Controlling complexity
- 2 A Verilogical place to start
- 3 Defining the instruction set architecture
- 4 Algorithmic behavioral modeling
- 5 Building an assembler for VeSPA
- 6 Pipelining
- 7 Implementation of the pipelined processor
- 8 Verification
- A The VeSPA instruction set architecture (ISA)
- B The VASM assembler
- Index
- VeSPA Instruction Set
5 - Building an assembler for VeSPA
Published online by Cambridge University Press: 31 October 2009
- Frontmatter
- Contents
- Preface
- 1 Controlling complexity
- 2 A Verilogical place to start
- 3 Defining the instruction set architecture
- 4 Algorithmic behavioral modeling
- 5 Building an assembler for VeSPA
- 6 Pipelining
- 7 Implementation of the pipelined processor
- 8 Verification
- A The VeSPA instruction set architecture (ISA)
- B The VASM assembler
- Index
- VeSPA Instruction Set
Summary
In order to translate a sentence from English into French two things are necessary. First, we must understand thoroughly the English sentence. Second, we must be familiar with the forms of expression peculiar to the French language.
George Polya, How to Solve It, Princeton University Press, 1945.Why assembly language?
The instructions that are actually executed by a processor are stored in memory as a sequence of binary numbers. When these numbers are fetched by the processor, they are executed by interpreting this machine language according to the steps specified in the instruction set architecture (ISA). It is possible to write programs directly in the binary 1s and 0s of a processor's machine language. However, it would be extremely tedious and error-prone since humans think in terms of symbols and higher-level languages. Consequently, we assign symbolic names to each of the instructions in the ISA, and to each of the registers and other memory elements that are accessible to a programmer. We then define a syntax which precisely describes how the various symbols can be composed into a complete program. These symbolic names and syntax define a complete programming language which is called an assembly language.
An assembler is a program that accepts as input a text file consisting of a sequence of alphanumeric characters that comprise a program written in a processor's assembly language. The output of the assembler is a machine language representation of the assembly language program that can be directly executed by the processor. The original textual format of the program is called the source code. The executable machine language is called the object code.
- Type
- Chapter
- Information
- Designing Digital Computer Systems with Verilog , pp. 82 - 93Publisher: Cambridge University PressPrint publication year: 2004