Tap lenh 8051

9
D ng l nh Mô t Ví d S M C dài CLR C Gán c C=0 CLR C 1 1 CLR BIT Gán BIT =0 CLR P1.0 1 2 SETB C Gán c C=1 SETB C 1 1 SETB BIT Gán BIT =1 SETB P1.0 1 2 CPL C o giá tr c C. N u C=1 thì sau l nh này C=0 và ng c l i. CPL C 1 1 CPL BIT o giá tr BIT. N u BIT=1 thì sau l nh này BIT=0 và ng c l i. CPL P1.0 1 2 ANL C, BIT Phép AND gi a c C và BIT. K t qu c t vào C. ANL C,P1.0 2 2 ANL C, BIT Phép AND gi a c C và bù c a BIT. K t qu c t vào C. ANL C, /P1.0 2 2 ORL C, BIT Phép OR gi a c C và BIT. K t qu c t vào C. ORL C,P1.7 2 2 ORL C,/BIT Phép OR gi a c C và bù c a BIT. K t qu c t vào C. ORL C,/P1.7 2 2 MOV C,BIT Gán c C=BIT MOV C,ACC.7 1 2 MOV BIT,C Gán BIT b ng giá tr c C MOV ACC.7,C 2 2 JC nhãn Nh y n nhãn n u c C =1 JC nhohon 2 2 JNC nhãn Nh y n nhãn n u c C=0 JNC nhohon 2 2 JB BIT, nhãn Nh y n nhãn n u BIT = 1 JB P1.0,start 2 3 JNB BIT, nhãn Nh y n nhãn n u BIT = 0 JNB P1.0,start 2 3 T P L NH 89C51 L NH LU N LÝ TÁC NG TRÊN BIT Trang 1 cuûa 8

description

Các tập lệnh của 8051

Transcript of Tap lenh 8051

Page 1: Tap lenh 8051

D ng l nh Mô t Ví dS MC

dài

CLR C Gán c C=0 CLR C 1 1CLR BIT Gán BIT =0 CLR P1.0 1 2SETB C Gán c C=1 SETB C 1 1SETB BIT Gán BIT =1 SETB P1.0 1 2

CPL Co giá tr c C. N u C=1 thì sau l nh này

C=0 và ng c l i.CPL C 1 1

CPL BITo giá tr BIT. N u BIT=1 thì sau l nh này

BIT=0 và ng c l i.CPL P1.0 1 2

ANL C, BITPhép AND gi a c C và BIT. K t qu c t vào C.

ANL C,P1.0 2 2

ANL C, BITPhép AND gi a c C và bù c a BIT. K t qu c t vào C.

ANL C, /P1.0 2 2

ORL C, BITPhép OR gi a c C và BIT. K t qu c t vào C.

ORL C,P1.7 2 2

ORL C,/BITPhép OR gi a c C và bù c a BIT. K t qu c t vào C.

ORL C,/P1.7 2 2

MOV C,BIT Gán c C=BIT MOV C,ACC.7 1 2MOV BIT,C Gán BIT b ng giá tr c C MOV ACC.7,C 2 2JC nhãn Nh y n nhãn n u c C =1 JC nhohon 2 2JNC nhãn Nh y n nhãn n u c C=0 JNC nhohon 2 2JB BIT, nhãn Nh y n nhãn n u BIT = 1 JB P1.0,start 2 3JNB BIT, nhãn Nh y n nhãn n u BIT = 0 JNB P1.0,start 2 3

T P L NH 89C51

L NH LU N LÝ TÁC NG TRÊN BIT

Trang 1 cuûa 8

Page 2: Tap lenh 8051

JBC BIT, nhãnNh y n nhãn n u BIT = 1 và sau ó gán BIT = 0

JBC P1.0,main 2 3

ACALL nhãn

G i th c thi ch ng trình con có tên nhãn . Sau khi th c thi ch ng trình con, VXL s th c hi n câu l nh ngay phía sau câu l nh g i này. C n c t các giá tr thanh ghi c s d ng trong ch ng trình con b ng các l nh PUSH/POP

ACALL

DELAY 2 2

LCALL nhãn LCALL DELAY 2 3

CALL nhãn CALL DELAY X XRET Thoát kh i ch ng trình con. RET 2 1RETI Thoát kh i ch ng trình ph c v ng t RETI 2 1

AJMP nhãn

Nh y n nhãn. S chu k máy c a l nh JMP c quy t nh t i th i i m d ch ph thu c

vào kho ng cách t i m g i n nhãn. L nh nh y này không c n i u ki n.

AJMP Main 2 2

LJMP nhãn LJMP Main 2 3SJMP nhãn SJMP Main 2 2JMP nhãn JMP Main X X

JMP @A+DPTRNh y n v trí cách v trí c tr b i DPTR m t kho ng là A.

JMP @A+DPTR 2 1

JZ nhãn Nh y n nhãn n u thanh ghi A=0 JZ Abang0 2 2JNZ nhãn Nh y n nhãn n u thanh ghi A khác 0 JNZ Akhac0 2 2

CJNE A,direct,nhãnSo sánh và nh y n nhãn n u giá tr thanh ghi A không b ng giá tr ô nh direct

CJNE A,B,AkhacB 2 3

L NH R NHÁNH CH NG TRÌNH

Trang 2 cuûa 8

Page 3: Tap lenh 8051

CJNE A,#data,nhãnSo sánh và nh y n nhãn n u giá tr thanh ghi A không b ng giá tr data

CJNE A,#20,Akhac20 2 3

CJNE Rn,#data,nhãn

So sánh và nh y n nhãn n u giá tr thanh ghi Rn không b ng giá tr data. Trong ó, Rn là m t trong các thanh ghi R0, R1, R2, , R7

CJNE R5,#20,R5khac20 2 3

CJNE @Ri,#data,nhãn

So sánh và nh y n nhãn n u giá tr ô nh c tr b i Ri (R0 hay R1) không b ng giá

tr data.vd: R0=40h, so sánh giá tr ô nh 40h v i 20 ta dùng câu l nh bên

CJNE @R0,#20,memkhac20 2 3

DJNZ Rn,nhãngi m giá tr thanh ghi Rn (R0 -> R7) i m t

n v , sau ó nh y n nhãn n u Rn khác 0.DJNZ R7,khackhong 2 2

DJNZ direct, nhãn

gi m giá tr c a ô nh direct i 1 r i nh y n nhãn n u giá tr ô nh direct khác 0. n u

giá tr ô nh direct b ng 0 thì th c hi n câu l nh ngay sau câu l nh này.

DJNZ 40h,khackhong 2 3

NOP t m d ng VXL trong 1 chu k máy NOP 1 1

MOV A, Rn chép d li u t thanh ghi Rn vào thanh ghi A MOV A, R7 1 1

MOV A, direct chép d li u t ô nh vào thanh ghi A MOV A, 40h 1 2

MOV A, @Richép d li u t ô nh c tr b i thanh ghi Ri vào thanh ghi A

MOV A, @R0 1 1

MOV A, #data gán A b ng con s data MOV A, #10 1 2

MOV Rn, A chép d li u t thanh ghi A vào thanh ghi Rn MOV R1, A 1 1

MOV Rn, direct chép d li u t ô nh vào thanh ghi Rn MOV R2, 40h 2 2

CÂU L NH CHUY N D LI U

Trang 3 cuûa 8

Page 4: Tap lenh 8051

MOV Rn, #data gán Rn b ng con s data MOV R2,#10 1 2MOV direct, A chép d li u c a A vào ô nh MOV 40h, A 1 2MOV direct, Rn chép d li u c a Rn vào ô nh MOV 50h, R7 2 2

MOV direct1, direct2chép d li u t ô nh direct2 vào ô nh direct1

MOV 40h, 50h 2 3

MOV direct, @Richép d li u t ô nh c tr b i Ri vào ô nh direct

MOV 40h, @R0 2 2

MOV direct, #data gán n i dung ô nh direct b ng giá tr data MOV 50h, #10 2 3

MOV @Ri, Achép d li u trong thanh ghi A vào ô nh

c tr b i RiMOV @R0, A 1 1

MOV @Ri, directchép d li u t ô nh tr c ti p vào ô nh

c tr b i RiMOV @R1, 40h 2 2

MOV @Ri, #datagán n i dung ô nh c tr b i Ri b ng giá tr data

MOV @R0, #10 1 2

MOV DPTR, #data gán giá tr thanh ghi DPTR b ng data MOV DPTR, #2000h 2 3

MOVC A,@A+DPTRchép vào A m t byte t b nh ch ng trình t i v trí cách con tr g c DPTR m t kho ng là A

MOVC A, @A+DPTR 2 1

MOVC A, @A+PCchép vào A m t byte t b nh ch ng trình t i v trí cách v trí l nh hi n hành m t kho ng là A

MOVC A, @A+PC 2 1

MOVX A, @Richép vào A m t byte t ô nh ngoài có a ch c tr b i Ri

MOVX A, @R0 2 1

MOVX A, @DPTRchép vào A m t byte t ô nh ngoài có a ch c tr b i DPTR

MOVX A, @DPTR 2 1

MOVX @Ri, Achép n i dung thanh ghi A vào ô nh ngoài

c tr b i RiMOVX @Ri, A 2 1

Trang 4 cuûa 8

Page 5: Tap lenh 8051

MOVX @DPTR, Achép n i dung thanh ghi A vào ô nh ngoài

c tr b i DPTRMOVX @DPTR, A 2 1

PUSH direct c t giá tr ô nh direct vào vùng nh stack PUSH ACC 2 2

POP directl y l i giá tr ã c t vùng stack vào ô nh direct

POP ACC 2 2

XCH A, Rn hoán i n i dung hai thanh ghi A và Rn XCH A, R7 1 1

XCH A, directhoán i n i dung thanh ghi A và n i dung ô nh direct

XCH A, 60h 1 2

XCH A, @Rihoán i n i dung thanh ghi A và n i dung ô nh c tr b i Ri

XCH A, @R0 1 1

XCHD A, @Rihoán i nibble th p thanh ghi A và nibble th p c a n i dung ô nh c tr b i Ri

XCHD A, @R1 1 1

ADD A, Rnc ng n i dung thanh ghi A và Rn, k t qu c t vào A

ADD A, R5 1 1

ADD A, directc ng n i dung thanh ghi A v i ô nh direct, k t qu c t vào A

ADD A, 70h 1 2

ADD A, @Ric ng n i dung thanh ghi A v i ô nh c tr b i Ri, k t qu c t vào A

ADD A, @R0 1 1

ADD A, #datac ng n i dung thanh ghi A và con s data, k t qu c t vào A

ADD A, #10 1 2

ADDC A, Rnc ng n i dung thanh ghi A và Rn và c ng thêm c nh C, k t qu c t vào A

ADDC A, R7 1 1

ADDC A, directc ng n i dung thanh ghi A v i ô nh direct và c ng thêm c nh C, k t qu c t vào A

ADDC A, 41h 1 2

ADDC A, @Ric ng n i dung thanh ghi A v i ô nh c tr b i Ri và c ng thêm c nh C , k t qu c t vào A

ADDC A, @R0 1 1

L NH S H C

Trang 5 cuûa 8

Page 6: Tap lenh 8051

ADDC A, #datac ng n i dung thanh ghi A và con s data và c ng thêm c nh C, k t qu c t vào A

ADDC A, #10 1 2

SUBB A, Rntr n i dung thanh ghi A và Rn và tr thêm c nh C, k t qu c t vào A

SUBB A, R7 1 1

SUBB A, directtr n i dung thanh ghi A v i ô nh direct và tr thêm c nh C, k t qu c t vào A

SUBB A, 41h 1 2

SUBB A, @Ritr n i dung thanh ghi A v i ô nh c tr b i Ri và tr thêm c nh C , k t qu c t vào A

SUBB A, @R0 1 1

SUBB A, #datatr n i dung thanh ghi A và con s data và tr thêm c nh C, k t qu c t vào A

SUBB A, #10 1 2

INC A t ng n i dung thanh ghi A lên 1 n v INC A 1 1INC Rn t ng n i dung thanh ghi Rn lên 1 n v INC R6 1 1INC direct t ng n i dung ô nh direct lên 1 n v INC 42h 1 2

INC @Rit ng n i dung ô nh c tr b i Ri lên 1

n vINC @R0 1 1

DEC A gi m n i dung thanh ghi A lên 1 n v DEC A 1 1DEC Rn gi m n i dung thanh ghi Rn lên 1 n v DEC R6 1 1DEC direct gi m n i dung ô nh direct lên 1 n v DEC 43h 1 2

DEC @Rigi m n i dung ô nh c tr b i Ri lên 1

n vDEC @R0 1 1

INC DPTR t ng giá tr thanh ghi DPTR lên 1 n v INC DPTR 2 1

MUL ABnhân n i dung thanh ghi A và thanh ghi B, k t qu : A ch a byte th p, B ch a byte cao

MUL AB 4 1

DIV ABchia A cho B, k t qu : A ch a th ng s , B ch a s d

DIV AB 4 1

Trang 6 cuûa 8

Page 7: Tap lenh 8051

DA A

hi u ch nh BCD cho n i dung thanh ghi A. N u digit nào c a A (d ng HEX) l n h n 9 s c c ng thêm 6 vào digit ó, ng c l i thì c ng 0. l nh này ch ho t ng úng cho phép c ng.

DA A 1 1

ANL A, Rnth c hi n AND n i dung thanh ghi A v i Rn, k t qu c t vào A

ANL A, R7 1 1

ANL A, directth c hi n AND n i dung thanh ghi A v i ô nh direct, k t qu c t vào A

ANL A, 45h 1 2

ANL A, @Rith c hi n AND n i dung thanh ghi A v i ô nh có a ch tr b i Ri, k t qu c t vào A

ANL A, @R0 1 1

ANL A, #datath c hi n AND n i dung thanh ghi A v i con s data, k t qu c t vào A

ANL A, #45h 1 2

ANL direct, Ath c hi n AND n i dung ô nh direct v i thanh ghi A , k t qu c t vào ô nh direct

ANL 45h, A 1 2

ANL direct, #datath c hi n AND n i dung ô nh direct v i con s data , k t qu c t vào ô nh direct

ANL 45h, #45h 2 3

ORL A, Rnth c hi n OR n i dung thanh ghi A v i Rn, k t qu c t vào A

ORL A, R7 1 1

ORL A, directth c hi n OR n i dung thanh ghi A v i ô nh direct, k t qu c t vào A

ORL A, 45h 1 2

ORL A, @Rith c hi n OR n i dung thanh ghi A v i ô nh có a ch tr b i Ri, k t qu c t vào A

ORL A, @R0 1 1

ORL A, #datath c hi n OR n i dung thanh ghi A v i con s data, k t qu c t vào A

ORL A, #45h 1 2

L NH LU N LÝ TÁC NG TRÊN BYTE

Trang 7 cuûa 8

Page 8: Tap lenh 8051

ORL direct, Ath c hi n OR n i dung ô nh direct v i thanh ghi A , k t qu c t vào ô nh direct

ORL 45h, A 1 2

ORL direct, #datath c hi n OR n i dung ô nh direct v i con s data , k t qu c t vào ô nh direct

ORL 45h, #45h 2 3

XRL A, Rnth c hi n XOR n i dung thanh ghi A v i Rn, k t qu c t vào A

XRL A, R7 1 1

XRL A, directth c hi n XOR n i dung thanh ghi A v i ô nh direct, k t qu c t vào A

XRL A, 45h 1 2

XRL A, @Rith c hi n XOR n i dung thanh ghi A v i ô nh có a ch tr b i Ri, k t qu c t vào A

XRL A, @R0 1 1

XRL A, #datath c hi n XOR n i dung thanh ghi A v i con s data, k t qu c t vào A

XRL A, #45h 1 2

XRL direct, Ath c hi n XOR n i dung ô nh direct v i thanh ghi A , k t qu c t vào ô nh direct

XRL 45h, A 1 2

XRL direct, #datath c hi n XOR n i dung ô nh direct v i con s data , k t qu c t vào ô nh direct

XRL 45h, #45h 2 3

CLR A gán A=0 CLR A 1 1

CPL Al y bù 1 giá tr c a A. th c s là gán A= 255 - A

CPL A 1 1

RL A quay trái các bit trong thanh ghi A RL A 1 1

RLC Aquay trái các bit trong thanh ghi A có dùng thêm c nh C

RLC A 1 1

RR A quay ph i các bit trong thanh ghi A. RR A 1 1

RLC Aquay ph i các bit trong thanh ghi A có dùng thêm c nh C.

RLC A 1 1

SWAP Ahoán i nibble cao và nibble th p c a thanh ghi A.

SWAP A 1 1

Trang 8 cuûa 8

Page 9: Tap lenh 8051

This document was created with Win2PDF available at http://www.daneprairie.com.The unregistered version of Win2PDF is for evaluation or non-commercial use only.