Справочник по программировани BASCOM-8051 (М.Л. Кулиш, 2001). Справочник по программированию bascom8051 Краснодар 2001
Скачать 6.61 Mb.
|
===================================== Справочник по программированию «Bascom-8051» == Флаги Действие команды Мнемоническое обозначение КОП (16) Описание С OV AC Ко л. ци кл ов Команды арифметических операций (продолжение) Инкрементирование А INC A 04 (A) ←(A)+1 1 INC R0 08 (R0) ←(R0)+1 1 INC R1 09 (R1) ←(R1)+1 1 INC R2 0A (R2) ←(R2)+1 1 INC R3 0B (R3) ←(R3)+1 1 INC R4 0C (R4) ←(R4)+1 1 INC R5 0D (R5) ←(R5)+1 1 INC R6 0E (R6) ←(R6)+1 1 Инкрементирование РОН INC R7 0F (R7) ←(R7)+1 1 Инкрементирование прямо адресуемого регистра INC direct 55,da (direct) ←(direct)+1 1 INC @R0 06 ((R0)) ←((R0))+1 1 Инкрементирование косвенно адресуемого регистра INC @R1 07 ((R1)) ←((R1))+1 1 Инкрементирование DPTR INC DPTR A3 (DPTR) ←(DPTR)+1 2 Декрементирование А DEC A 14 (A) ←(A)-1 1 DEC R0 18 (R0) ←(R0)-1 1 DEC R1 19 (R1) ←(R1)-1 1 DEC R2 1A (R2) ←(R2)-1 1 DEC R3 1B (R3) ←(R3)-1 1 DEC R4 1C (R4) ←(R4)-1 1 DEC R5 1D (R5) ←(R5)-1 1 DEC R6 1E (R6) ←(R6)-1 1 Декрементирование РОН DEC R7 1F (R7) ←(R7)-1 1 Декрементирование прямо адресуемого регистра DEC direct 15,da (direct) ←(direct)-1 1 DEC @R0 16 ((R0)) ←((R0))-1 1 Декрементирование косвенно адресуемого регистра DEC @R1 17 ((R1)) ←((R1))-1 1 Умножение MUL AB A4 (B) ←15-8{(A)×(B)} (A) ←7-0{(A)×(B)} Если в результате: B≠0 OV ←1 0 + 4 Деление DIV AB 84 (A) ←{(A)/(B)} (B) ← остаток Если делитель B=0 OV ←1 0 + 4 Десятичная коррекция DA A D4 Если (А 3..0 )>9 или (АС)=1 то (А 3..0 ) ←(А 3..0 )+6; и если (А 7..4 )>9 или С=1, то (А 7..4 ) ←(А 7..4 )+6 + 1 Условные обозначения. adr 8 – восьмиразрядный адрес adr 16 – шестнадцатиразрядный адрес. Младший байт записывается в ячейке с меньшим адресом. bit – адрес (номер) бита от 0 до FF da (direct) – прямоадресуемый регистр (его адрес) от 0 до FF dt (data) – непосредственные данные от 0 до FF rel – относительное смещение адреса от 80 (-128) до 7F (+127) da пр и da ист. – адреса регистров приемника и источника данных от 0 до FF ============================================================================= B-8 =========================================================================== Справочник по программированию «Bascom-8051» == =========================================================================================================================== C-1 Приложение C Коды команд MCS-51 0 1 2 3 4 5 6 7 8 9 A B C D E F 0 NOP AJMP adr11 (p000) LJMP addr16 RR A INC A INC direct INC @R0 INC @R1 INC R0 INC R1 INC R2 INC R3 INC R4 INC R5 INC R6 INC R7 0 1 JBC bit,rel ACALL adr11 (p000) LCALL addr16 RRC A DEC A DEC direct DEC @R0 DEC @R1 DEC R0 DEC R1 DEC R2 DEC R3 DEC R4 DEC R5 DEC R6 DEC R7 1 2 JB bit,rel AJMP adr11 (p001) RET RL A ADD A, #data ADD A, direct ADD A,@R0 ADD A,@R1 ADD A,R0 ADD A,R1 ADD A,R2 ADD A,R3 ADD A,R4 ADD A,R5 ADD A,R6 ADD A,R7 2 3 JNB bit,rel ACALL adr11 (p001) RETI RLC A ADDC A,#data ADDC A,direct ADDC A,@R0 ADDC A,@R1 ADDC A,R0 ADDC A,R1 ADDC A,R2 ADDC A,R3 ADDC A,R4 ADDC A,R5 ADDC A,R6 ADDC A,R7 3 4 JC rel AJMP adr11 ORL direct,A ORL direct, #data ORL A, #data ORL A, direct ORL A,@R0 ORL A,@R1 ORL A,R0 ORL A,R1 ORL A,R2 ORL A,R3 ORL A,R4 ORL A,R5 ORL A,R6 ORL A,R7 4 5 JNC rel ACALL adr11 (p010) ANL direct,A ANL direct, #data ANL A, #data ANL A, direct ANL A,@R0 ANL A,@R1 ANL A,R0 ANL A,R1 ANL A,R2 ANL A,R3 ANL A,R4 ANL A,R5 ANL A,R6 ANL A,R7 5 6 JZ rel AJMP adr11 (p011) XRL direct,A XRL direct, #data XRL A, #data XRL A, direct XRL A,@R0 XRL A,@R1 XRL A,R0 XRL A,R1 XRL A,R2 XRL A,R3 XRL A,R4 XRL A,R5 XRL A,R6 XRL A,R7 6 7 JNZ rel ACALL adr11 (p011) ORL C, bit JMP @A+ DPTR MOV A, #data MOV direct, #data MOV @R0, #data MOV @R1, #data MOV R0, #data MOV R1, #data MOV R2, #data MOV R3, #data MOV R4, #data MOV R5, #data MOV R6, #data MOV R7, #data 7 0 1 2 3 4 5 6 7 8 9 A B C D E F =========================================================================== Справочник по программированию «Bascom-8051» == =========================================================================================================================== C-2 Коды команд MCS-51 (продолжение) 0 1 2 3 4 5 6 7 8 9 A B C D E F 8 SJMP rel AJMP adr11 (p100) ANL C, bit MOVC A,@A+P C DIV AB MOV direct, direct MOV direct, @R0 MOV direct, @R1 MOV direct, R0 MOV direct, R1 MOV direct, R2 MOV direct, R3 MOV direct, R4 MOV direct, R5 MOV direct, R6 MOV direct, R7 8 9 MOV OPTR, #data16 ACALL adr11 (p100) MOV bit, C MOVC A,@A+D PTR SUBB A, #data SUBB A, direct SUBB A, @R0 SUBB A, @R1 SUBB A, R0 SUBB A, R1 SUBB A, R2 SUBB A, R3 SUBB A, R4 SUBB A, R5 SUBB A, R6 SUBB A, R7 9 A ORL C,/bit AJMP adr11 (p101) MOV C, bit INC DPTR MUL AB MOV @R0, direct MOV @R1, direct MOV R0, direct MOV R1, direct MOV R2, direct MOV R3, direct MOV R4, direct MOV R5, direct MOV R6, direct MOV R7, direct A B ANL C,/bit ACALL adr11 (p101) CPL bit CPL C CJNE A, #data, rel CJNE A, direct, rel CJNE @R0, #data, rel CJNE @R0, #data,rel CJNE R0, #data,rel CJNE R1, #data,rel CJNE R2, #data,rel CJNE R3, #data,rel CJNE R4, #data,rel CJNE R5, #data,rel CJNE R6, #data,rel CJNE R7, #data,rel B C PUSH direct AJMP adr11 (p110) CLR bit CLR C SWAP A XCH A, direct XCH A, @R0 XCH A, @R1 XCH A, R0 XCH A, R1 XCH A, R2 XCH A, R3 XCH A, R4 XCH A, R5 XCH A, R6 XCH A, R7 C D POP direct ACALL adr11 (p110) SETB bit SETB C PA A DJNZ direct, rel XCHD A, @R0 XCHD A, @R1 DJNZ R0,rel DJNZ R1,rel DJNZ R2,rel DJNZ R3,rel DJNZ R4,rel DJNZ R5,rel DJNZ R6,rel DJNZ R7,rel D E MOVX A, @DPTR AJMP adr11 (p111) MOVX A,@R0 MOVX A,@R1 CLR A MOV A, direct MOV A, @R0 MOV A, @R1 MOV A, R0 MOV A, R1 MOV A, R2 MOV A, R3 MOV A, R4 MOV A, R5 MOV A, R6 MOV A, R7 E F MOVX @DPTR, A ACALL adr11 (p111) MOVX @R0,A MOVX @R1,A CPL A MOV direct,A MOV @R0, A MOV @R1, A MOV R0, A MOV R1, A MOV R2, A MOV R3, A MOV R4, A MOV R5, A MOV R6, A MOV R7, A F 0 1 2 3 4 5 6 7 8 9 A B C D E F Код команды определяется первой цифры по вертикали (старший полубайт) и второй по горизонтали (младший полубайт). Например, команда INC DPTR имеет код A3. |