Exchanging Nibbles Between Accumulator and RAM (XCHD)
Adjusting Accumulator for BCD Addition (DA)
Using the Stack (PUSH/POP)
Setting the Data Pointer DPTR (MOV DPTR)
Reading External RAM/Data Memory (MOVX)
Reading Code Memory/Tables (MOVC)
Using Jump Tables (JMP @A+DPTR)
This page is under Construction.......
Assembly language is a low-level, pseudo-English representation of the microcontroller's machine language. Each assembly language instruction has a one-to-one relation to one of the microcontroller's machine-level instructions.
High-level languages, such as "C", Basic, Visual Basic, etc. are one or more steps above assembly language in that no significant knowledge of the underlying architecture is necessary. It is possible (and common) for a developer to program a Visual Basic application in Windows without knowing much of anything about the Windows API, much less the underlying architecture of the Intel Pentium. Further, a developer who has written code in "C" for Unix won't have significant problems adapting to writing code in "C" for Windows or a microcontroller such as an 8052ˇwhile there are some variations, the C compiler itself takes care of most of the processor-specific issues.
Assembly language, on the other hand, is very processor-specific. While a prior knowledge of assembly language with any given processor will be helpful when attempting to begin coding in the assembly language of another processor, the two assembly languages may be extremely different. Different architectures have different instruction sets and different forms of addressing. In fact, only general concepts may ýportţ from one processor to another.
The low-level nature of assembly language programming requires an understanding of the underlying architecture of the processor for which one is developing. This is why we explained the 8052's architecture fully before attempting to introduce the reader to assembly language programming in this document. Many aspects of assembly language may be completely confusing without a prior knowledge of the architecture.
This section of the document will introduce the reader to 8052 assembly language, concepts, and programming style.