Chương 7: NHÓM LỆNH TĂNG CẶP THANH GHI 1.Lệnh tăng cặp thanh ghi BC: + Cú pháp: INX B + Mã đối tượng: +Ý nghóa: nội dung cặp thah ghi BC tăng thêm một đơn vò. + Lệnh này chiếm 1 byte, số chu kỳ clock =6. + Lệnh này không làm ảnh hưởng đến thanh ghi trạng thái. (Tương tự cho các lệnh khác) 2. Lệnh tăng cặp thanh ghi DE: + Cú pháp: INX D 1. Lệnh tăng cặp thanh ghi HL: + Cú pháp: INX H 2. Lệnh tăng cặp thanh ghi SP: + Cú pháp: INX SP 0 0 0 0 0 0 0 1 XI. LỆNH GIẢM CẶP THANH GHI: 1. Lệnh giảm cặp thanh ghi BC: + Cú pháp: DCX D + Mã đối tượng: + Ý nghóa: nội dung cặp thanh ghi BC giảm thêm 1 đơn vò. + Lệnh này chiếm 1 byte, số chu kỳ clock=6. + Lệnh này không làm ảnh hưởng đến thanh ghi trạng thái. (Tương tự cho các lênh khác) 2. Lệnh giảm cặp thanh ghi DE: + Cú pháp: DCXD 3. Lệnh giảm cặp thanh ghi HL: + Cú pháp: DCXH 4. Lệnh giảm cặp thanh ghi SP: + Cú pháp: DCXSP XII. NHÓM LỆNH GIÁN TIẾP DÙNG CẶP THANH GHI: 1. Lệnh lưu trữ gián tiếp dùng cặp thanh ghi BC: + Cú pháp: STAX B + Mã đối tượng: + Ý nghóa: nội dung thanh gi được lưu trữ gián tiếp vào ô nhớ có đòa chỉ chứa trong cặp thanh ghi BC. + Lệnh này không ảnh hưỏng đến thanh ghi trạng thái. (Tương tự cho các lênh khác cùng nhóm) 2. Lệnh lưu trữ gián tiếp dùng cặp thanh ghi DE: + Cú pháp: STAX D 3. Lệnh nạp gián tiếp dùng cặp thanh ghi BC: + Cú pháp: LDAX B + Mã đối tượng: 0 0 0 0 1 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0 0 0 1 1 0 0 1 0 8 bit thấp 8 bit cao + Ý nghóa: nội dung ô nhớ có đòa chỉ chứa trong cặp thanh ghi BC được chuyển vào thanh ghi A. (Tương tự cho các lệnh khác) 4. Lệnh lưu trữ gián tiếp dùng cặp thanh ghi DE: + Cú pháp: LDAX D XIII. NHÓM LỆNH TRỰC TIẾP: 1. Lệnh lưu trữ trực tiếp: + Cú pháp: STA ADDR + Mã đối tượng: + Ý nghóa: nội dung thanh ghi A được lưu trữ vào ô nhớ có đòa chỉ ADDR. + Lệnh này chiếm 3 byte, số chu kỳ clock=13. + Lệnh này không ảnh hưởng đến thanh ghi trạng thái. 2. Lệnh nạp trực tiếp: + Cú pháp: LDA ADDR + Mã đối tượng: + Ý nghóa: nội dung ô nhớ có đòa chỉ là ADDR được chuyển vào thanh ghi A. + Lệnh này chiếm 3 byte, số chu kỳ xung clock =13. + Lệnh nầøy không ảnh hưởng đến thanh ghi trạng thái. 3. Lệnh lưu trữ trực iếp cặp thanh ghi: + Cú pháp: SHLD ADDR 0 0 1 1 1 0 1 0 8 bit thấp 8 bit cao 0 0 1 0 1 0 1 0 8 bit thấp 8 bit cao 0 0 0 0 0 1 1 1 + Mã đối tượng: + Ý nghóa: nội dung cặp thanh ghi HL đựoc lưu vào 2 ô nhớ liên tiếp là ADDR và (ADDR+1). Nội dung thanh ghi L được lưu trữ vào ô nhớ có đòa chỉ là ADDR, nội dung của thanh ghi H được lưu trữ vào ô nhớ có đòa chỉ là (ADDR+1). + Lệnh nầy chiếm 3 byte, số chu kỳ xung clock = 16. + Lệnh nầy không ảnh hưởng đến thanh ghi trạng thái. 4. Lệnh nạp trực tiếp cặp thanh ghi: + Cú pháp: LHLD ADDR + Mã đối tượng: + Ý nghóa: nội dung của 2 ô nhớ có đòa chỉ liên tiếp là ADDR và (ADDR+1) được lưu trữ vào cặp thanh ghi HL. Nội dung của ô nhớ có đòa chỉ ADDR được nạp vào thanh ghi L, nội dung của ô nhớ có đòa chỉ (ADDR+1) được nạp vào thanh ghi H. + Lệnh này chiếm 3 byte, số chu kỳ xung clock =13. + Lệnh này không ảnh hưởng đến thanh ghi trạng thái. XIV. NHÓM LỆNH XOAY THANH GHI A: 1. Lệnh dòch thanh ghi A sang trái: + Cú pháp: RLC + Mã đối tượng: 0 0 1 0 0 0 1 0 8 bit thấp 8 bit cao 0 0 0 0 1 1 1 1 1 1 0 0 0 0 1 1 8 bit thấp 8 bit cao + Ý nghóa: nội dung thanh ghi A dòch từ phải sang trái, bit MSB được chuyển sang bit Cy và bit LSB. + Lệnh này chiếm 1byte, số chu kỳ lock =4. + Lệnh này chỉ ảnh hưởng đến bit trạng thái Cy. 2. Lệnh dòch thanh ghi A sang phải: + Cú pháp: RRC + Mã đối tượng: + Ý nghóa: nội dung thanh ghi A dòch từ trái sang phải, bit LSB được chuyển sang bit Cy và bit MSB. + Lệnh này chiếm 1byte, số chu kỳ lock =4. + Lệnh này chỉ ảnh hưởng đến bit trạng thái Cy. ( Tương tự cho các lệnh khác). 3. Lệnh dòch thanh ghi A sang trái thông qua bit Cy: + Cú pháp: RAL 4. Lệnh dòch thanh ghi A sang phải thông qua bit Cy: + Cú pháp: RAR XV. NHÓM LỆNH NHẢY: 1. Lệnh nhảy không điều kiện: + Cú pháp: JMP ADDR + Mã đối tượng: + ý nghóa: vi xử lí sẽ nhảy đến đòa chỉ ADDR để tiếp tục thực hiện chương trình. + Lệnh này chiếm 3 byte, số chu kỳ clock =10. 1 1 0 0 0 0 1 0 8 bit thấp 8 bit cao + Lệnh này không ảnh hưởng đến thanh ghi trạng thái. 2. Lệnh nhảy khi bit Z=0: +Cú pháp: JNZ ADDR + Mã đối tượng: + Ý nghóa: vi xử lí sẽ nhảy đến đòa chỉ ADDR để tiếp tục chương trình khi bit Z=0, ngay sau khi thực hiện lệnh ảnh hưởng đến bit z của thanh ghi trạng thái. + Lệnh này chiếm 3 byte, số chu kỳ clock là 7/10. + Lệnh này không ảnh hưởng đến thanh ghi trạng thái. ( Tương tự cho các lệnh khác). 3. Lệnh nhảy khi bit Z=1: + Cú pháp: JZ ADDR 4. Lệnh nhảy khi bit C=0: + Cú pháp: JNC ADDR 5. Lệnh nhảy khi bit C=1: + Cú pháp: JC ADDR 6. Lệnh nhảy khi bit P=0: + Cú pháp: JPO ADDR 7. Lệnh nhảy khi bit P=1: + Cú pháp: JPE ADDR 8. Lệnh nhảy khi bit S=0: + Cú pháp: JP ADDR 9. Lệnh nhảy khi bit S=1: + Cú pháp: JM ADDR . thanh ghi HL đựoc lưu vào 2 ô nhớ liên tiếp là ADDR và (ADDR+1). Nội dung thanh ghi L được lưu trữ vào ô nhớ có đòa chỉ là ADDR, nội dung của thanh ghi H được lưu trữ vào ô nhớ có đòa chỉ là. liên tiếp là ADDR và (ADDR+1) được lưu trữ vào cặp thanh ghi HL. Nội dung của ô nhớ có đòa chỉ ADDR được nạp vào thanh ghi L, nội dung của ô nhớ có đòa chỉ (ADDR+1) được nạp vào thanh ghi H. +. nhảy không điều kiện: + Cú pháp: JMP ADDR + Mã đối tượng: + ý nghóa: vi xử lí sẽ nhảy đến đòa chỉ ADDR để tiếp tục thực hiện chương trình. + Lệnh này chiếm 3 byte, số chu kỳ clock =10. 1 1 0 0