http://www.ebook.edu.vn Trang 1/8 TÓM TẮT TẬP LỆNH GHI CHÚ: Ký hiệu Giải thích Rn đònh đòa chỉ thanh ghi sử dụng R0 – R7 của bank thanh ghi được chọn direct đòa chỉ 8 bit trong RAM nội (00H - FFH) @Ri đònh đòa chỉ gián tiếp sử dụng thanh ghi R0 hoặc R1 #data hằng số 8 bit chứa trong lệnh #data16 hằng số 16 bit chứa trong lệnh bit đòa chỉ trực tiếp (8 bit) của một bit rel offset 8 bit có dấu addr11 đòa chỉ 11 bit trong trang hiện hành addr16 đòa chỉ 16 bit source toán hạng nguồn destination toán hạng đích ← được thay thế bởi … (…) nội dung của … ((…)) dữ liệu được trỏ bởi … i đònh đòa chỉ gián tiếp sử dụng R0 (i=0) hay R1 (i=1) n 2 n 1 n 0 mã chọn thanh ghi R0 – R7 (000=R0, 001=R1, …) d 7 d 6 …d 1 d 0 các bit dữ liệu a 15 a 14 …a 1 a 0 các bit đòa chỉ b 7 b 6 …b 1 b 0 đòa chỉ của 1 bit r 7 r 6 …r 1 r 0 đòa chỉ tương đối 8 bit http://www.ebook.edu.vn Trang 2/8 NHÓM LỆNH SỐ HỌC Mã lệnh Mã gợi nhớ d 7 d 6 d 5 d 4 d 3 d 2 d 1 d 0 Mã Hex Số chu kỳ máy Giải thích ADD A, Rn 0 0 1 0 1 n 2 n 1 n 0 28-2F 1 (A) ← (A) + (Rn) ADD A, direct 0 a 7 0 a 6 1 a 5 0 a 4 0 a 3 1 a 2 0 a 1 1 a 0 25 Byte2 1 (A) ← (A) + (direct) ADD A, @Ri 0 0 1 0 0 1 1 i 26-27 1 (A) ← (A) + ((Ri)) ADD A, #data 0 d 7 0 d 6 1 d 5 0 d 4 0 d 3 1 d 2 0 d 1 0 d 0 24 Byte2 1 (A) ← (A) + #data ADDC A, Rn 0 0 1 1 1 n 2 n 1 n 0 38-3F 1 (A) ← (A) + (C) + (Rn) ADDC A, direct 0 a 7 0 a 6 1 a 5 1 a 4 0 a 3 1 a 2 0 a 1 1 a 0 35 Byte2 1 (A) ← (A) + (C) + (direct) ADDC A, @Ri 0 0 1 1 0 1 1 i 36-37 1 (A) ← (A) + (C) + ((Ri)) ADDC A, #data 0 d 7 0 d 6 1 d 5 1 d 4 0 d 3 1 d 2 0 d 1 0 d 0 34 Byte2 1 (A) ← (A) + (C) + #data SUBB A, Rn 1 0 0 1 1 n 2 n 1 n 0 98-9F 1 (A) ← (A) − (C) − (Rn) SUBB A, direct 1 a 7 0 a 6 0 a 5 1 a 4 0 a 3 1 a 2 0 a 1 1 a 0 95 Byte2 1 (A) ← (A) − (C) − (direct) SUBB A, @Ri 1 0 0 1 0 1 1 i 96-97 1 (A) ← (A) − (C) − ((Ri)) SUBB A, #data 1 d 7 0 d 6 0 d 5 1 d 4 0 d 3 1 d 2 0 d 1 0 d 0 94 Byte2 1 (A) ← (A) − (C) − #data INC A 0 0 0 0 0 1 0 0 04 1 (A) ← (A) + 1 INC Rn 0 0 0 0 1 n 2 n 1 n 0 08-0F 1 (Rn) ← (Rn) + 1 INC direct 0 a 7 0 a 6 0 a 5 0 a 4 0 a 3 1 a 2 0 a 1 1 a 0 05 Byte2 1 (direct) ← (direct) + 1 INC @Ri 0 0 0 0 0 1 1 I 06-07 1 ((Ri)) ← ((Ri)) + 1 INC DPTR 1 0 1 0 0 0 1 1 A3 2 (DPTR) ← (DPTR) + 1 DEC A 0 0 0 1 0 1 0 0 14 1 (A) ← (A) − 1 DEC Rn 0 0 0 1 1 n 2 n 1 n 0 18-1F 1 (Rn) ← (Rn) − 1 DEC direct 0 a 7 0 a 6 0 a 5 1 a 4 0 a 3 1 a 2 0 a 1 1 a 0 15 Byte2 1 (direct) ← (direct) − 1 DEC @Ri 0 0 0 1 0 1 1 I 16-17 1 ((Ri)) ← ((Ri)) − 1 MUL AB 1 0 1 0 0 1 0 0 A4 4 (A) ← byte thấp của (A) x (B) (B) ← byte cao của (A) x (B) DIV AB 1 0 0 0 0 1 0 0 84 4 (A) ← phần nguyên của (A)/(B) (B) ← phần dư của (A)/(B) DA A 1 1 0 1 0 1 0 0 D4 1 Nội dung thanh ghi A là số BCD Nếu [(A 3 - 0 ) > 9] OR [(AC) = 1] thì (A 3 - 0 ) ← (A 3 - 0 ) + 6 Nếu [(A 7 - 4 ) > 9] OR [(C) = 1] thì (A 7 - 4 ) ← (A 7 - 0 ) + 6 NHÓM LỆNH LOGIC Mã lệnh Mã gợi nhớ d 7 d 6 d 5 d 4 d 3 d 2 d 1 d 0 Mã Hex Số chu kỳ máy Giải thích ANL A, Rn 0 1 0 1 1 n 2 n 1 n 0 58-5F 1 (A) ← (A) AND (Rn) http://www.ebook.edu.vn Trang 3/8 ANL A, direct 0 a 7 1 a 6 0 a 5 1 a 4 0 a 3 1 a 2 0 a 1 1 a 0 55 Byte2 1 (A) ← (A) AND (direct) ANL A, @Ri 0 1 0 1 0 1 1 i 56-57 1 (A) ← (A) AND ((Ri)) ANL A, #data 0 d 7 1 d 6 0 d 5 1 d 4 0 d 3 1 d 2 0 d 1 0d 0 54 Byte2 1 (A) ← (A) AND #data ANL direct, A 0 a 7 1 a 6 0 a 5 1 a 4 0 a 3 0 a 2 1 a 1 0 a 0 52 Byte2 1 (direct) ← (direct) AND (A) ANL direct, #data 0 a 7 d 7 1 a 6 d 6 0 a 5 d 5 1 a 4 d 4 0 a 3 d 3 0 a 2 d 2 1 a 1 d 1 1 a 0 d 0 53 Byte2 Byte3 2 (direct) ← (direct) AND #data ORL A, Rn 0 1 0 0 1 n 2 n 1 n 0 48-4F 1 (A) ← (A) OR (Rn) ORL A, direct 0 a 7 1 a 6 0 a 5 0 a 4 0 a 3 1 a 2 0 a 1 1 a 0 45 Byte2 1 (A) ← (A) OR (direct) ORL A, @Ri 0 1 0 0 0 1 1 i 46-47 1 (A) ← (A) OR ((Ri)) ORL A, #data 0 d 7 1 d 6 0 d 5 0 d 4 0 d 3 1 d 2 0 d 1 0d 0 44 Byte2 1 (A) ← (A) OR #data ORL direct, A 0 a 7 1 a 6 0 a 5 0 a 4 0 a 3 0 a 2 1 a 1 0 a 0 42 Byte2 1 (direct) ← (direct) OR (A) ORL direct, #data 0 a 7 d 7 1 a 6 d 6 0 a 5 d 5 0 a 4 d 4 0 a 3 d 3 0 a 2 d 2 1 a 1 d 1 1 a 0 d 0 43 Byte2 Byte3 2 (direct) ← (direct) OR #data XRL A, Rn 0 1 1 0 1 n 2 n 1 n 0 68-6F 1 (A) ← (A) XOR (Rn) XRL A, direct 0 a 7 1 a 6 1 a 5 0 a 4 0 a 3 1 a 2 0 a 1 1 a 0 65 Byte2 1 (A) ← (A) XOR (direct) XRL A, @Ri 0 1 1 0 0 1 1 i 66-67 1 (A) ← (A) XOR ((Ri)) XRL A, #data 0 d 7 1 d 6 1 d 5 0 d 4 0 d 3 1 d 2 0 d 1 0d 0 64 Byte2 1 (A) ← (A) XOR #data XRL direct, A 0 a 7 1 a 6 1 a 5 0 a 4 0 a 3 0 a 2 1 a 1 0 a 0 62 Byte2 1 (direct) ← (direct) XOR (A) XRL direct, #data 0 a 7 d 7 1 a 6 d 6 1 a 5 d 5 0 a 4 d 4 0 a 3 d 3 0 a 2 d 2 1 a 1 d 1 1 a 0 d 0 63 Byte2 Byte3 2 (direct) ← (direct) XOR #data CLR A 1 1 1 0 0 1 0 0 E4 1 (A) ← 0 CPL A 1 1 1 1 0 1 0 0 F4 1 (A) ← ( A ) RL A 0 0 1 0 0 0 1 1 23 1 Nội dung của thanh ghi A được quay trái một bit. RLC A 0 0 1 1 0 0 1 1 33 1 Nội dung của thanh ghi A và cờ C được quay trái một bit . RR A 0 0 0 0 0 0 1 1 03 1 Nội dung của thanh ghi A được quay phải một bit. RRC A 0 0 0 1 0 0 1 1 13 1 Nội dung của thanh ghi A và cờ C được quay phải một bit . SWAP A 1 1 0 0 0 1 0 0 C4 1 (A 3 - 0 ) ↔ (A 7 - 4 ) A 7 A 6 A 5 A 4 A 3 A 2 A 1 A 0 C A 7 A 6 A 5 A 4 A 3 A 2 A 1 A 0 A 7 A 6 A 5 A 4 A 3 A 2 A 1 A 0 C A 7 A 6 A 5 A 4 A 3 A 2 A 1 A 0 http://www.ebook.edu.vn Trang 4/8 NHÓM LỆNH CHUYỂN DỮ LIỆU Mã lệnh Mã gợi nhớ d 7 d 6 d 5 d 4 d 3 d 2 d 1 d 0 Mã Hex Số chu kỳ máy Giải thích MOV A, Rn 1 1 1 0 1 n 2 n 1 n 0 E8-EF 1 (A) ← (Rn) MOV A, direct 1 a 7 1 a 6 1 a 5 0 a 4 0 a 3 1 a 2 0 a 1 1 a 0 E5 Byte2 1 (A) ← (direct) MOV A, @Ri 1 1 1 0 0 1 1 i E6-E7 1 (A) ← ((Ri)) MOV A, #data 0 d 7 1 d 6 1 d 5 1 d 4 0 d 3 1 d 2 0 d 1 0 d 0 74 Byte2 1 (A) ← #data MOV Rn, A 1 1 1 1 1 n 2 n 1 n 0 F8-FF 1 (Rn) ← (A) MOV Rn, direct 1 a 7 0 a 6 1 a 5 0 a 4 1 a 3 n 2 a 2 n 1 a 1 n 0 a 0 A8-AF Byte2 2 (Rn) ← (direct) MOV Rn, #data 0 d 7 1 d 6 1 d 5 1 d 4 1 d 3 n 2 d 2 n 1 d 1 n 0 d 0 78-7F Byte2 1 (Rn) ← #data MOV direct, A 1 a 7 1 a 6 1 a 5 1 a 4 0 a 3 1 a 2 0 a 1 1 a 0 F5 Byte2 1 (direct) ← (A) MOV direct, Rn 1 a 7 0 a 6 0 a 5 0 a 4 1 a 3 n 2 a 2 n 1 a 1 n 0 a 0 88-8F Byte2 2 (direct) ← (Rn) MOV direct, direct 1 a 7 a 7 0 a 6 a 6 0 a 5 a 5 0 a 4 a 4 0 a 3 a 3 1 a 2 a 2 0 a 1 a 1 1 a 0 a 0 85 Byte2 Byte3 2 (direct) ← (direct) (source) (destination) MOV direct, @Ri 1 a 7 0 a 6 0 a 5 0 a 4 0 a 3 1 a 2 1 a 1 i a 0 86-87 Byte2 2 (direct) ← ((Ri)) MOV direct, #data 0 a 7 d 7 1 a 6 d 6 1 a 5 d 5 1 a 4 d 4 0 a 3 d 3 1 a 2 d 2 0 a 1 d 1 1 a 0 d 0 75 Byte2 Byte3 2 (direct) ← #data MOV @Ri, A 1 1 1 1 0 1 1 i F6-F7 1 ((Ri)) ← (A) MOV @Ri, direct 1 a 7 0 a 6 1 a 5 0 a 4 0 a 3 1 a 2 1 a 1 i a 0 A6-A7 Byte2 2 ((Ri)) ← (direct) MOV @Ri, #data 0 d 7 1 d 6 1 d 5 1 d 4 0 d 3 1 d 2 1 d 1 i d 0 76-77 Byte2 1 ((Ri)) ← #data MOV DPTR, #data16 1 d 7 d 7 0 d 6 d 6 0 d 5 d 5 1 d 4 d 4 0 d 3 d 3 0 d 2 d 2 0 d 1 d 1 0 d 0 d 0 90 Byte2 Byte3 2 (DPTR) ← #data 15 – 0 (DPH) ← #data 15 – 8 (DPL) ← #data 7 – 0 XCH A, Rn 1 1 0 0 1 n 2 n 1 n 0 C8-CF 1 (A) ↔ (Rn) XCH A, direct 1 a 7 1 a 6 0 a 5 0 a 4 0 a 3 1 a 2 0 a 1 1 a 0 C5 Byte2 1 (A) ↔ (direct) XCH A, @Ri 1 1 0 0 0 1 1 i C6-C7 1 (A) ↔ ((Ri)) XCHD A, @Ri 1 1 0 1 0 1 1 i D6-D7 1 (A 3 – 0 ) ↔ ((Ri 3 – 0 )) PUSH direct 1 a 7 1 a 6 0 a 5 0 a 4 0 a 3 0 a 2 0 a 1 0 a 0 C0 Byte2 2 (SP) ← (SP) + 1 ((SP)) ← (direct) POP direct 1 a 7 1 a 6 0 a 5 1 a 4 0 a 3 0 a 2 0 a 1 0 a 0 D0 Byte2 2 (direct) ← ((SP)) (SP) ← (SP) – 1 MOVX A,@Ri 1 1 1 0 0 0 1 i E2-E3 2 (A) ← ((Ri)) RAM ngoài MOVX A,@DPTR 1 1 1 0 0 0 0 0 E0 2 (A) ← ((DPTR)) RAM ngoài MOVX @Ri, A 1 1 1 1 0 0 1 i F2-F3 2 ((Ri)) ← (A) RAM ngoài MOVX @DPTR, A 1 1 1 1 0 0 0 0 F0 2 ((DPTR)) ← (A) RAM ngoài MOVC A,@A+DPTR 1 0 0 1 0 0 1 1 93 2 (A) ← ((A)+(DPTR)) MOVC A,@A+PC 1 0 0 0 0 0 1 1 83 2 (A) ← ((A)+(PC)) http://www.ebook.edu.vn Trang 5/8 NHÓM LỆNH CHUYỂN ĐIỀU KHIỂN Mã lệnh Mã gợi nhớ d 7 d 6 d 5 d 4 d 3 d 2 d 1 d 0 Mã Hex Số chu kỳ máy Giải thích ACALL addr11 a 10 a 7 a 9 a 6 a 8 a 5 1 a 4 0 a 3 0 a 2 0 a 1 1 a 0 Byte1 Byte2 2 (PC) ← (PC) + 2 (SP) ← (SP) +1 ((SP)) ← (PC 7 - 0 ) (SP) ← (SP) +1 ((SP)) ← (PC 15 - 8 ) (PC) ← đòa chỉ trang LCALL addr16 0 a 15 a 7 0 a 14 a 6 0 a 13 a 5 1 a 12 a 4 0 a 11 a 3 0 a 10 a 2 1 a 9 a 1 0 a 8 a 0 12 Byte2 Byte3 2 (PC) ← (PC) + 3 (SP) ← (SP) +1 ((SP)) ← (PC 7 - 0 ) (SP) ← (SP) +1 ((SP)) ← (PC 15 - 8 ) (PC) ← addr 15 - 0 RET 0 0 1 0 0 0 1 0 22 2 (PC 15 - 8 ) ← ((SP)) (SP) ← (SP) − 1 (PC 7 - 0 ) ← ((SP)) (SP) ← (SP) − 1 RETI 0 0 1 1 0 0 1 0 32 2 (PC 15 - 8 ) ← ((SP)) (SP) ← (SP) − 1 (PC 7 - 0 ) ← ((SP)) (SP) ← (SP) − 1 AJMP addr11 a 10 a 7 a 9 a 6 a 8 a 5 0 a 4 0 a 3 0 a 2 0 a 1 1 a 0 Byte1 Byte2 2 (PC) ← (PC) + 2 (PC 10 - 0 ) ← đòa chỉ trang LJMP addr16 0 a 15 a 7 0 a 14 a 6 0 a 13 a 5 0 a 12 a 4 0 a 11 a 3 0 a 10 a 2 1 a 9 a 1 0 a 8 a 0 02 Byte2 Byte3 2 (PC) ← addr 15 - 0 SJMP rel 1 r 7 0 r 6 0 r 5 0 r 4 0 r 3 0 r 2 0 r 1 0 r 0 80 Byte2 2 (PC) ← (PC) + 2 (PC) ← (PC) + rel JMP @A+DPTR 0 1 1 1 0 0 1 1 73 2 (PC) ← (A) + (DPTR) JZ rel 0 r 7 1 r 6 1 r 5 0 r 4 0 r 3 0 r 2 0 r 1 0 r 0 60 Byte2 2 (PC) ← (PC) + 2 Nếu (A) = 0 thì (PC) ← (PC) + rel JNZ rel 0 r 7 1 r 6 1 r 5 1 r 4 0 r 3 0 r 2 0 r 1 0 r 0 70 Byte2 2 (PC) ← (PC) + 2 Nếu (A) ≠ 0 thì (PC) ← (PC) + rel JC rel 0 r 7 1 r 6 0 r 5 0 r 4 0 r 3 0 r 2 0 r 1 0 r 0 40 Byte2 2 (PC) ← (PC) + 2 Nếu (C) = 1 thì (PC) ← (PC) + rel JNC rel 0 r 7 1 r 6 0 r 5 1 r 4 0 r 3 0 r 2 0 r 1 0 r 0 50 Byte2 2 (PC) ← (PC) + 2 Nếu (C) = 0 thì (PC) ← (PC) + rel JB bit, rel 0 b 7 r 7 0 b 6 r 6 1 b 5 r 5 0 b 4 r 4 0 b 3 r 3 0 b 2 r 2 0 b 1 r 1 0 b 0 r 0 20 Byte2 Byte3 2 (PC) ← (PC) + 3 Nếu (bit) = 1 thì (PC) ← (PC) + rel JNB bit, rel 0 b 7 r 7 0 b 6 r 6 1 b 5 r 5 1 b 4 r 4 0 b 3 r 3 0 b 2 r 2 0 b 1 r 1 0 b 0 r 0 30 Byte2 Byte3 2 (PC) ← (PC) + 3 Nếu (bit) = 0 thì (PC) ← (PC) + rel http://www.ebook.edu.vn Trang 6/8 JBC bit, rel 0 b 7 r 7 0 b 6 r 6 0 b 5 r 5 1 b 4 r 4 0 b 3 r 3 0 b 2 r 2 0 b 1 r 1 0 b 0 r 0 10 Byte2 Byte3 2 (PC) ← (PC) + 3 Nếu (bit) = 1 thì (bit) ← 0, (PC) ← (PC) + rel CJNE A, direct, rel 1 a 7 r 7 0 a 6 r 6 1 a 5 r 5 1 a 4 r 4 0 a 3 r 3 1 a 2 r 2 0 a 1 r 1 1 a 0 r 0 B5 Byte2 Byte3 2 (PC) ← (PC) + 3 Nếu (A) > (direct) thì (PC) ← (PC) + rel và (C) ← 0 OR Nếu (A) < (direct) thì (PC) ← (PC) + rel và (C) ← 1 CJNE A, #data, rel 1 d 7 r 7 0 d 6 r 6 1 d 5 r 5 1 d 4 r 4 0 d 3 r 3 1 d 2 r 2 0 d 1 r 1 0 d 0 r 0 B4 Byte2 Byte3 2 (PC) ← (PC) + 3 Nếu (A) > #data thì (PC) ← (PC) + rel và (C) ← 0 OR Nếu (A) < #data thì (PC) ← (PC) + rel và (C) ← 1 CJNE Rn, #data, rel 1 d 7 r 7 0 d 6 r 6 1 d 5 r 5 1 d 4 r 4 1 d 3 r 3 n 2 d 2 r 2 n 1 d 1 r 1 n 0 d 0 r 0 B8-BF Byte2 Byte3 2 (PC) ← (PC) + 3 Nếu (Rn) > #data thì (PC) ← (PC) + rel và (C) ← 0 OR Nếu (Rn) < #data thì (PC) ← (PC) + rel và (C) ← 1 CJNE @Ri, #data, rel 1 d 7 r 7 0 d 6 r 6 1 d 5 r 5 1 d 4 r 4 0 d 3 r 3 1 d 2 r 2 1 d 1 r 1 i d 0 r 0 B6-B7 Byte2 Byte3 2 (PC) ← (PC) + 3 Nếu ((Ri)) > #data thì (PC) ← (PC) + rel và (C) ← 0 OR Nếu ((Ri)) < #data thì (PC) ← (PC) + rel và (C) ← 1 DJNZ Rn, rel 1 r 7 1 r 6 0 r 5 1 r 4 1 r 3 n 2 r 2 n 1 r 1 n 0 r 0 D8-DF Byte2 2 (PC) ← (PC) + 2 (Rn) ← (Rn) − 1 Nếu (Rn) ≠ 0 thì (PC) ← (PC) + rel DJNZ direct, rel 1 a 7 r 7 1 a 6 r 6 0 a 5 r 5 1 a 4 r 4 0 a 3 r 3 1 a 2 r 2 0 a 1 r 1 1 a 0 r 0 D5 Byte2 Byte3 2 (PC) ← (PC) + 3 (direct) ← (direct) − 1 Nếu (direct) ≠ 0 thì (PC) ← (PC) + rel NOP 0 0 0 0 0 0 0 0 00 1 (PC) ← (PC) + 1 NHÓM LỆNH XỬ LÝ BIT Mã lệnh Mã gợi nhớ d 7 d 6 d 5 d 4 d 3 d 2 d 1 d 0 Mã Hex Số chu kỳ máy Giải thích CLR C 1 1 0 0 0 0 1 1 C3 1 (C) ← 0 CLR bit 1 b 7 1 b 6 0 b 5 0 b 4 0 b 3 0 b 2 1 b 1 0 b 0 C2 Byte2 1 (bit) ← 0 SETB C 1 1 0 1 0 0 1 1 D3 1 (C) ← 1 SETB bit 1 b 7 1 b 6 0 b 5 1 b 4 0 b 3 0 b 2 1 b 1 0 b 0 D2 Byte2 1 (bit) ← 1 CPL C 1 0 1 1 0 0 1 1 B3 1 (C) ← ( C ) CPL bit 1 b 7 0 b 6 1 b 5 1 b 4 0 b 3 0 b 2 1 b 1 0 b 0 B2 Byte2 1 (bit) ← ( bit ) http://www.ebook.edu.vn Trang 7/8 ANL C, bit 1 b 7 0 b 6 0 b 5 0 b 4 0 b 3 0 b 2 1 b 1 0 b 0 82 Byte2 2 (C) ← (C) AND (bit) ANL C, /bit 1 b 7 0 b 6 1 b 5 1 b 4 0 b 3 0 b 2 0 b 1 0 b 0 B0 Byte2 2 (C) ← (C) AND ( bit ) ORL C, bit 0 b 7 1 b 6 1 b 5 1 b 4 0 b 3 0 b 2 1 b 1 0 b 0 72 Byte2 2 (C) ← (C) OR (bit) ORL C, /bit 1 b 7 0 b 6 1 b 5 0 b 4 0 b 3 0 b 2 0 b 1 0 b 0 A0 Byte2 2 (C) ← (C) OR ( bit ) MOV C, bit 1 b 7 0 b 6 1 b 5 0 b 4 0 b 3 0 b 2 1 b 1 0 b 0 A2 Byte2 1 (C) ← (bit) MOV bit, C 1 b 7 0 b 6 0 b 5 1 b 4 0 b 3 0 b 2 1 b 1 0 b 0 92 Byte2 2 (bit) ← (C) TÓM TẮT MỘT SỐ THANH GHI CHỨC NĂNG ĐẶC BIỆT Thanh ghi chế độ đònh thời TMOD (không được đònh đòa chỉ bit) MSB LSB Gate T/C M1 M0 Gate T/C M1 M0 Timer 1 Timer 0 Thanh ghi điều khiển đònh thời TCON (được đònh đòa chỉ bit) MSB LSB TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 Timer Interrupt Thanh ghi điều khiển port nối tiếp SCON (được đònh đòa chỉ bit) MSB LSB SM0 SM1 SM2 REN TB8 RB8 TI RI Thanh ghi cho phép ngắt IE (được đònh đòa chỉ bit) MSB LSB EA - (ET2) ES ET1 EX1 ET0 EX0 Thanh ghi ưu tiên ngắt IP (được đònh đòa chỉ bit) MSB LSB - - (PT2) PS PT1 PX1 PT0 PX0 Thanh ghi trạng thái chương trình PSW (được đònh đòa chỉ bit) MSB LSB CY AC F0 RS1 RS0 OV - P Thanh ghi điều khiển nguồn PCON (không được đònh đòa chỉ bit) MSB LSB SMOD - - - GF1 GF0 PD IDL http://www.ebook.edu.vn Trang 8/8 TÓM TẮT CÁC LỆNH TÁC ĐỘNG LÊN CỜ Cờ Lệnh CY OV AC Ghi chú ADD x x x ADDC x x x SUBB x x x MUL AB 0 x - (OV) = 1 nếu kết quả > 0FFH, ngược lại (OV) = 0 DIV AB 0 x - (OV) = 1 nếu ban đầu (B) = 0, ngược lại (OV) = 0 DA A x - - RLC x - - RRC x - - CJNE x - - SETB C 1 - - CLR C 0 - - CPL C x - - ANL C, bit x - - ANL C, /bit x - - ORL C, bit x - - ORL C, /bit x - - MOV C, bit x - - x : tùy thuộc vào kết quả. - : không bò tác động bởi lệnh. BẢNG CÁC VECTOR NGẮT Nguyên nhân ngắt Cờ Đòa chỉ vector ngắt Reset hệ thống RST 0000H Ngắt ngoài 0 IE0 0003H Ngắt timer 0 TF0 000BH Ngắt ngoài 1 IE1 0013H Ngắt timer 1 TF1 001BH Ngắt port nối tiếp RI hoặc TI 0023H BẢNG CÁC TỐC ĐỘ BAUD Tốc độ baud Tần số thạch anh SMOD Giá trò nạp cho TH1 Tốc độ baud thực tế Sai số 9600 12,000MHz 1 -7 (F9H) 8923 7% 2400 12,000MHz 0 -13 (F3H) 2404 0,16% 1200 12,000MHz 0 -26 (E6H) 1202 0,16% 19200 11,059MHz 0 -3 (FDH) 19200 0 9600 11,059MHz 0 -3 (FDH) 9600 0 2400 11,059MHz 0 -12 (F4H) 2400 0 1200 11,059MHz 0 -24 (E8H) 1200 0 . x - (OV) = 1 nếu kết quả > 0FFH, ngược lại (OV) = 0 DIV AB 0 x - (OV) = 1 nếu ban đầu (B) = 0, ngược lại (OV) = 0 DA A x - - RLC x - - RRC x - - CJNE x - - SETB C 1 - - CLR C 0 - -. CLR C 0 - - CPL C x - - ANL C, bit x - - ANL C, /bit x - - ORL C, bit x - - ORL C, /bit x - - MOV C, bit x - - x : tùy thuộc vào kết quả. - : không bò tác động bởi lệnh. BẢNG CÁC VECTOR. số BCD Nếu [(A 3 - 0 ) > 9] OR [(AC) = 1] thì (A 3 - 0 ) ← (A 3 - 0 ) + 6 Nếu [(A 7 - 4 ) > 9] OR [(C) = 1] thì (A 7 - 4 ) ← (A 7 - 0 ) + 6 NHÓM LỆNH LOGIC Mã lệnh Mã gợi nhớ