cpe229_lec17 - CPE 229 Course Notes: Lecture 17 Copyright:...

Info iconThis preview shows pages 1–2. Sign up to view the full content.

View Full Document Right Arrow Icon
CPE 229 Course Notes: Lecture 17 Copyright: 2005 Bryan Mealy Assembly Language Programming and the PicoBlaze Microcontroller: An Overview Stepping up from RTL descriptions of circuits to assembly language and microcontrollers represents the next logical step in your digital learning evolution. While RTL descriptions of circuits represented a nicely overview of the circuits operations, it is somewhat limiting in the context of making your circuit do something useful. Moving up the digital circuit hierarchy leaves us interacting with computers at the assembly language level. As you will see, working with assembly languages and microcontrollers presents the ultimate “efficiency” in digital circuit design. In this context, the word efficiency refers to the fact that we can implement many different designs using a single platform. More specifically, with a single piece of hardware, we can implement many different designs; the efficiency is provided by the flexibility of altering the effective functioning of the circuit by simply changing the firmware (as opposed to changing the hardware). This means that the number of possible designs presented by a single piece of hardware is infinite (a fact not possible in the world of analog circuits). This set of notes presents an overview of both the PicoBlaze microcontroller and assembly language concepts in general. While PicoBlaze is far from being the end-all device in the world of microcontrollers, it provides a viable option in presenting topics such as assembly language programming, basic computer architecture, and basic features commonly found in many of today’s more functional microcontrollers. Bits to Mnemonics and Back Again A computer is nothing more than a device that sequentially executes a series of stored instructions. The individual instructions are used to control the various subsystems in the computer in such a way as to produce a meaningful result. When all is said and done, computers do nothing more than push around bits (1's and 0's). It should be no surprise that the instructions are nothing more than a set of bits that induce the computer to perform predefined operations. The computer instructions in a bit-pattern form are referred to as a machine language or machine code . As you could imagine, dealing with an endless stream of bits is overwhelming for the average human brain. The solution is to replace the machine language with assembly language. An assembly language is a simple upward translation of the machine language where the bit patterns that form the instructions are replaced by mnemonics . These assembly mnemonics are written such a way as to convey the purpose of the instruction as it relates to the function that it causes the computer hardware to perform. The upside of this translation bit to mnemonics is that the purpose of an instruction is much easier to envision and understand. The downside the bits-to-mnemonic translation is that the translation needs to be undone in order for the instructions to be executed on a computer. The translation from assembly code to machine code is accomplished by a software program referred to as
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Image of page 2
This is the end of the preview. Sign up to access the rest of the document.

Page1 / 12

cpe229_lec17 - CPE 229 Course Notes: Lecture 17 Copyright:...

This preview shows document pages 1 - 2. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online