beautypg.com

8052 assembly language, Chapter 16 – Texas Instruments MSC1210 User Manual

Page 195

background image

16-1

8052 Assembly Language

8052 Assembly Language

Chapter 16 describes the 8052 Assembly Language.

Topic

Page

Chapter 16

16.1 Description

16-2

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

16.2 Syntax

16-2

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

16.3 Number Bases

16-4

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

16.4 Expressions

16-4

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

16.5 Operator Precedence

16-5

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

16.6 Characters and Character Strings

16-5

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

16.7 Changing Program Flow (LJMP, SJMP, AJMP)

16-6

. . . . . . . . . . . . . . . . . . . . . . .

16.8 Subroutines (LCALL, ACALL, RET)

16-7

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

16.9 Register Assignment (MOV)

16-8

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

16.10 Incrementingand Decrementing Registers (INC, DEC)

16-11

. . . . . . . . . . . . .

16.11 Program Loops (DJNZ)

16-12

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

16.12 Setting, Clearing and Moving bits (SETB, CLR, CPL, MOV)

16-13

. . . . . . . .

16.13 Bit-Based Decisions and Branching (JB, JBC, JNB, JC, JNC)

16-15

. . . . . .

16.14 Value Comparison (CJNE)

16-16

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

16.15 Less Than and Greater Than Comparison (CJNE)

16-17

. . . . . . . . . . . . . . . . .

16.16 Zero and Nonzero Decisions (JZ, JNZ)

16-18

. . . . . . . . . . . . . . . . . . . . . . . . . . . .

16.17 Performing Additions (ADD, ADDC)

16-18

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

16.18 Performing Subtractions (SUBB)

16-20

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

16.19 Performing Multiplication (MUL)

16-21

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

16.20 Performing Division (DIV)

16-22

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

16.21 Shifting Bits (RR, RRC, RL, RLC)

16-23

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

16.22 Bit-Wise Logical Intructions (ANL, ORL, XRL)

16-24

. . . . . . . . . . . . . . . . . . . . .

16.23 Exchanging Register Values (XCH)

16-26

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

16.24 Swapping Accumulator Nibbles (SWAP)

16-26

. . . . . . . . . . . . . . . . . . . . . . . . . .

16.25

Exchanging Nibbles between Accumulator and Internal RAM (XCHD)

16-26

.

16.26 Adjusting Accumulator for BCD Addition (DA)

16-27

. . . . . . . . . . . . . . . . . . . .

16.27 Using the Stack (PUSH, POP)

16-28

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

16.28 Setting the Data Pointer, DPTR (MOV DPTR)

16-30

. . . . . . . . . . . . . . . . . . . . . .

16.29 Reading and Writing External RAM/Data Memory (MOVX)

16-31

. . . . . . . . . .

16.30 Reading Code Memory/Tables (MOVC)

16-32

. . . . . . . . . . . . . . . . . . . . . . . . . . .

16.31 Using Jump Tables (JMP @A+DPTR)

16-34

. . . . . . . . . . . . . . . . . . . . . . . . . . . . .