Rev 835 | Blame | Compare with Previous | Last modification | View Log | Download
APPENDIX KAS8051 ASSEMBLERK.1 8051 REGISTER SETThe following is a list of the 8051 registers used by AS8051:a,b - 8-bit accumulatorsr0,r1,r2,r3 - 8-bit registersr4,r5,r6,r7dptr - data pointersp - stack pointerpc - program counterpsw - status wordc - carry (bit in status word)K.2 8051 INSTRUCTION SETThe following tables list all 8051 mnemonics recognizedby the AS8051 assembler. The following list specifies theformat for each addressing mode supported by AS8051:#data immediate databyte or word datar,r1,r2 register r0,r1,r2,r3,r4,r5,r6, or r7@r indirect on register r0 or r1@dptr indirect on data pointer@a+dptr indirect on accumulator plus data pointer@a+pc indirect on accumulator plus program counteraddr direct memory addressbitaddr bit addresslabel call or jump labelThe terms data, addr, bitaddr, and label may all be expressions.Note that not all addressing modes are valid with every in-struction. Refer to the 8051 technical data for validmodes.K.2.1 Inherent InstructionsnopK.2.6 Move Instructionsmov a,#data mov a,addrmov a,r mov a,@rmov r,#data mov r,addrmov r,amov addr,a mov addr,#datamov addr,r mov addr,@rmov addr1,addr2 mov bitaddr,cmov @r,#data mov @r,addrmov @r,amov c,bitaddrmov dptr,#datamovc a,@a+dptr movc a,@a+pcmovx a,@dptr movx a,@rmovx @dptr,a movx @r,aK.2.8 Single Operand Instructionsclr a clr cclr bitaddrcpl a cpl ccpl bitaddrsetb c setb bitaddrda arr a rrc arl a rlc aswap adec a dec rdec @rinc a inc rinc dptr inc @rdiv ab mul abpop addr push addrK.2.8 Two Operand Instructionsadd a,#data add a,addradd a,r add a,@raddc a,#data addc a,addraddc a,r addc a,@rsubb a,#data subb a,addrsubb a,r subb a,@rorl a,#data orl a,addrorl a,r orl a,@rorl addr,a orl addr,#dataorl c,bitaddr orl c,/bitaddranl a,#data anl a,addranl a,r anl a,@ranl addr,a anl addr,#dataanl c,bitaddr anl c,/bitaddrxrl a,#data xrl a,addrxrl a,r xrl a,@rxrl addr,a xrl addr,#dataxrl c,bitaddr xrl c,/bitaddrxch a,addr xch a,rxch a,@r xchd a,@rK.2.3 Call and Return Instructionsacall label lcall labelret retiK.2.4 Jump Instructionsajmp labelcjne a,#data,label cjne a,addr,labelcjne r,#data,label cjne @r,#data,labeldjnz r,label djnz addr,labeljbc bitadr,labeljb bitadr,label jnb bitadr,labeljc label jnc labeljz label jnz labeljmp @a+dptrljmp label sjmp label