Beruflich Dokumente
Kultur Dokumente
ACALL: Absolute Call ADD, ADDC: Add Accumulator (With Carry) AJMP: Absolute Jump ANL: Bitwise AND CJNE: Compare and Jump if Not Equal CLR: Clear Register CPL: Complement Register DA: Decimal Adjust DEC: Decrement Register DIV: Divide Accumulator by B DJNZ: Decrement Register and Jump if Not Zero INC: Increment Register JB: Jump if Bit Set JBC: Jump if Bit Set and Clear Bit JC: Jump if Carry Set JMP: Jump to Address JNB: Jump if Bit Not Set JNC: Jump if Carry Not Set JNZ: Jump if Accumulator Not Zero JZ: Jump if Accumulator Zero LCALL: Long Call LJMP: Long Jump MOV: Move Memory MOVC: Move Code Memory MOVX: Move Extended Memory MUL: Multiply Accumulator by B NOP: No Operation ORL: Bitwise OR POP: Pop Value From Stack PUSH: Push Value Onto Stack RET: Return From Subroutine RETI: Return From Interrupt RL: Rotate Accumulator Left RLC: Rotate Accumulator Left Through Carry RR: Rotate Accumulator Right RRC: Rotate Accumulator Right Through Carry SETB: Set Bit SJMP: Short Jump SUBB: Subtract From Accumulator With Borrow SWAP: Swap Accumulator Nibbles XCH: Exchange Bytes XCHD: Exchange Digits XRL: Bitwise Exclusive OR Undefined: Undefined InstructionHKHHIHA
Classic 8051
Home Architecture Overview Memory Classes and Layout Classic 8051 The following table shows the memory classes used for programming the classic 8051 architecture. These memory classes are available when you are using the A51 macro assembler and the BL51 linker/locater. Memory Class DATA BIT Address Range D:00 D:7F D:20 D:2F Description
Direct addressable on chip RAM. bit addressable RAM; accessed bit instructions. Indirect addressable on chip RAM; can be accessed IDATA I:00 I:FF with @R0 or @R1. 64 KB RAM (read/write access). Accessed with XDATA X:0000 X:FFFF MOVX instruction. 64 KB ROM (only read access possible). Used for CODE C:0000 C:FFFF executable code or constants. BANK 0 B0:0000 B0:FFFF Code Banks for expanding the program code space to BANK 31 B31:0000 B31:FFFF 32 x 64KB ROM. Note
The memory prefix D: I: X: C: B0: .. B31: cannot be used at Ax51 assembler or BL51 linker/locater level. The memory prefixes are only listed for better understanding. Several Debugging tools, for example the Vision Debugger, are using memory prefixes to identify the memory class of the address.
In addition, up to 32 code banks may be used for code banking applications. While these are technically located in code space, they are assigned their own address space.
0V UD P Z N
1 1 Bank3 (D:0x18H - D:0x1F) Overflow flag User definable flag Parity flag Reserved for future use (251 Only) Zero flag (251 Only) Negative flag (251 Only)