Tài liệu Giao tiếp giữa KIT vi xử lý 8085 và máy tính Nguồn, chương 5 pdf

20 359 0
Tài liệu Giao tiếp giữa KIT vi xử lý 8085 và máy tính Nguồn, chương 5 pdf

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

0 1 d d d s s s CHƯƠNG 5: GIỚI THIỆU TẬP LỆNH CỦA VI XỬ LÝ 8085 I . NHÓM LỆNH DI CHUYỂN 8 BIT: 1. Lệnh truyền dữ liệu giữa các thanh ghi: + Cú pháp: MOV d, s  s (source): tượng trưng cho các thanh ghi phát.  d (destination): tượng trưng cho thanh nhận. + Mã đối tượng: + Các bit ddd và sss tra ở BẢNG 2.1 cuối tập lệnh. + Ý nghóa: chuyển nội dung thanh ghi s vào thanh ghi d, nội dung thanh ghi s vẫn còn. + Lệnh này chiếm 1 byte, số chu kỳ xung clock = 4. + Thanh ghi trạng thái không thay đổi. (Tương tự cho các lệnh khác). 2. Lệnh chuyển dữ liệu thanh ghi vào ô nhớ: Cú pháp: MOV M, s 3. Lệnh chuyển dữ liệu từ ô nhớ vào thanh ghi: Cú pháp: MOV d, M 4. Lệnh truyền tức thời dữ liiệu 8 bit vào thanh ghi: Cú pháp: MVI d, D8 5. Lệnh truyền tức thời dữ liệu 8 bit vào ô nhớ: Cú pháp: MVI M, D8 II. NHÓM LỆNH TĂNG GIẢM 8 BIT: 1. Lệnh tăng nội dung thanh ghi: + Cú pháp: INR d + Mã đối tượng: 0 0 d d d 1 0 0 1 0 0 0 0 s s s 1 0 0 0 1 s s s + Ý nghóa: Lệnh này tăng nội dung thanh ghi lên một đơn vò. + Lệnh nầy chiếm 1 byte , số chu kỳ xung clock = 4. + Lệnh nầy ảnh hưởng đến thanh ghi trạng thái trừ bit Cy không ảnh hưởng. (Tượng tự cho các lệnh khác) 2. Lệnh giảm nội dung thanh ghi: Cú pháp: DCR d 3. Lệnh tăng nội dung ô nhớ: Cú pháp: INR M 4. Lệnh giảm nội dung ô nhớ: Cú pháp: DCR M III. NHÓM LỆNH SỐ HỌC GIỮA THANH GHI A VÀ THANH GHI 1. Lệnh cộng thanh ghi: + Cú pháp: ADD s + Mã đối tượng: + Ý nghóa: nội dung thanh ghi A được cộng với nội dung thanh ghi s, kết quả chứa trong thanh ghi A , nội dung thanh ghi s vẫn còn. + Lệnh này chiếm một byte, số chu kỳ xung clock = 4. + Lệnh này ảnh hưởng đến thanh ghi trạng thái. 2. Lệnh cộng thanh ghi có số nhớ ban đầu: + Cú pháp: ADC s + Mã đối tượng: + Ý nghóa: nội dung thanh ghi A được cộng với nội dung thanh ghi s cộng với bit Cy, kết quả chứa trong thanh ghi A, nội dung thanh ghi s vẫn còn. + Lệnh nầy chiếm 1 byte, số chu kỳ xung clock = 4. + Lệnh nầy ảnh hưởng đến thanh ghi trạng thái. (Tương tự cho các lệnh khác) 3. Lệnh trừ thanh ghi: Cú pháp: SUB s 4. Lệnh trừ thanh ghi có số nhớ ban đầu: Cú pháp: SBB s 5. Lệnh and với thanh ghi: Cú pháp: ANA s 6. Lệnh Ex-or với thanh ghi: Cú pháp: XRA s 7. Lệnh or với thanh ghi: Cú pháp: ORA s 8. Lệnh so sánh với thanh ghi: Cú pháp: CMP s IV. NHÓM LỆNH SỐ HỌC GIỮA Ô NHỚ VỚI THANH GHI A: 1. Lệnh cộng với ô nhớ: + Cú pháp: ADD M + Mã đối tượng: + Ý nghóa: nội dung thanh ghi A được cộng với nội dung ô nhớ có đòa chỉ chứa trong cặp thanh ghi HL, kết quả chứa trong thanh ghi A, nội dung ô nhớ không thay đổi. + Lệnh nầy chiếm 1 byte, số chu kỳ xung clock = 7. + Lệnh nầy ảnh hưởng đến thanh ghi trạng thái. 2. Lệnh cộng ô nhớ có số nhớ ban đầu: + Cú pháp: ADC M 1 0 0 0 0 1 1 0 1 0 0 0 1 1 1 0 + Mã đối tượng: + Ý nghóa: nội dung thanh ghi A được cộng với dung ô nhớ có đòa chỉ chứa trong cặp thanh ghi HL, kết quả chứa trong A, nội dung ô nhớ không thay đổi. + Lệnh nầy chứa 1 byte, số chu kỳ xung clock = 7. + Lệnh nầy ảnh hưởng đến thanh ghi trạng thái. (Tương tự cho các lệnh khác) 3. Lệnh trừ với ô nhớ: Cú pháp: SUB M 4. Lệnh trừ ô nhớ có số nhớ ban đầu: Cú pháp: SBB M 5. Lệnh and với ô nhớ: Cú pháp: ANA M 6. Lệnh Ex-or với ô nhớ: Cú pháp: XRA M 7. Lệnh or với ô nhớ: Cú pháp: ORA M 8. Lệnh so sánh với ô nhớ: Cú pháp: CMP M V. NHÓM LỆNH SỐ HỌC GIỮA THANH GHI A VÀ DỮ LIỆU 8 BIT: 1. Lệnh cộng tức thời với dữ liệu 8 bit: + Cú pháp: ADI D8 + Mã đối tượng: + Ý nghóa: nội dung thanh ghi A được cộng với dữ liệu 8 bit D8, kết quả chứa trong thanh ghi A. + Lệnh nầy chứa 2 byte, số chu kỳ xung clock = 7. 1 1 0 0 0 1 1 0 Dữ liệäu 8 bit D8 0 0 0 0 0 0 0 1 8 bit thấp 8 bit cao + Lệnh nầy ảnh hưởng đến thanh ghi trạng thái. 2. Lệnh cộng tức thời với dữ liệu 8 bit có số nhớ ban đầu: + Cú pháp: ACI D8 + Mã đối tượng: + Ý nghóa: nội dung thanh ghi A được cộng với dữ liệu 8 bit D8, cộng với bit Cy, kết quả chứa trong thanh ghi A. + Lệnh nầy chứa 2 byte, số chu kỳ xung clock = 7. + Lệnh nầy ảnh hưởng đến thanh ghi trạng thái. ( Tương tự cho các lệnh khác ) 3. Lệnh trừ tức thời với dữ liệu 8 bit: Cú pháp: SUI D8 4. Lệnh trừ tức thời với dữ liệu 8 bit có số nhớ ban đầu: Cú pháp: SBI D8 5. Lệnh and tức thời với dữ liệu 8 bit: Cú pháp: ANI D8 6. Lệnh Ex-or tức thời với dữ liệu 8 bit: Cú pháp: XRI D8 7. Lệnh or tức thời với dữ liệu 8 bit: Cú pháp: ORI D8 8. Lệnh so sánh tức thời với dữ liệu 8 bit: Cú pháp: CPI D8 VI. NHÓM LỆNH NẠP TỨC THỜI CẶP THANH GHI: 1. Lệänh nạp cặp thanh ghi BC: + Cú pháp: LXI B, D16 + Mã đối tượng: 1 1 0 0 1 1 1 0 Dữ liệäu 8 bit D8 1 1 0 0 0 1 0 + Ý nghóa: dữ liệu 16 bit D16 được nạp vào cặp thanh ghi BC. + Lệnh nầy chiếm 3 byte, số chu kỳ xung clock = 10. + Không ảnh hưởng đến thanh ghi trạng thái. (Tương tự cho các lệnh khác) 2. Lệnh nạp cặp thanh ghi DE: Cú pháp: LXI D, D16 3. Lệnh nạp cặp thanh ghi HL: Cú pháp: LXI H, D16 4. Lệnh nạp cặp thanh ghi SP: Cú pháp: LXI SP, D16 VII. NHÓM LỆNH PUSH: 1. Lệnh cất cặp thanh ghi BC: + Cú pháp: PUSH B +Mã đối tượng: +Ý nghóa: nội dung cặp thanh ghi BC được copy vào ngăn xếp. Nội dung thanh ghi B được cất vào ngăn xếp tại đòa chỉ (SP-1), thanh ghi C được cất vào ngăn xếp tại đòa chỉ (SP-2), nội dung thanh ghi SP giảm đi 2. + Lệnh này chiếm 1 byte, số chu kì xung clock =12. +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) 2. Lệnh cất cặp thanh ghi DE: Cú pháp: PUSH D 3. Lệnh cất cặp thanh ghi HL: Cú pháp: PUSH H 4. Lệnh cất cặp thanh ghi AF: Cú pháp: PUSH PSW VIII. NHÓM LỆNH POP: 1. Lệnh chuyển nội dung ngăn xếp vào cặp thanh ghi: + Cú pháp: POP B + Mã đối tượng: + Ý nghóa: chuyển nội dung từ ngăn xếp vào cặp thanh ghi BC. Nội dung ngăn xếp có đòa chỉ chứa trong SP được chuyển cho thanh ghi C, nội dung của ngăn xếp có đòa chỉ (SP+1) được chuyển cho thanh ghi B, sau lệnh POP nội dung của SP tăng lên 2. + Lệnh này chiếm một byte, số chu kì clock =12. + Lệnh này không ảnh hưởng đến thanh ghi teạng thái. (Tương tự cho các lệnh khác cùng nhóm). 2. Lệnh chuyển nội dung ngăn xếp vào cặp thanh ghi DE: + Cú pháp: POP D 3. Lệnh chuyển nội dung ngăn xếp vào cặp thanh ghi HL: + Cú pháp: POP H 4. Lệnh chuyển nội dung ngăn xếp vào cặp thanh ghi AF: + Cú pháp: POP PSW IX. NHÓM LỆNH CỘNG CẶP THANH GHI VỚI CẶP THANH GHI : 1. Lệnh cộng cặp thanh ghi BC: + Cú pháp: DAD B + Mã đối tượng: + Ý nghóa: nội dung cặp thanh ghi BC được cộng với cặp thanh ghi HL, kết quả cất trong cặp thanh ghi HL. Thanh ghi L được cộng với C, thanh ghi H được cộng với B. 1 1 0 0 0 0 0 1 0 0 0 0 1 0 0 1 + Lệnh này chiếm 1 byte, số chu kỳ clock =10. + Lệnh này chỉ làm ảnh hưởng đến bit trạng thái Cy. Tương tự cho các lệnh cùng nhóm này như sau: 2. Lệnh cộng cặp thanh ghi DE: + Cú pháp: DAD D 3. Lệnh cộng cặp thanh ghi HL: + Cú pháp: DAD H 4. Lệnh cộng cặp thanh ghi SP: + Cú pháp: DAD SP X. 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ạfg 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 [...]... thanh ghiHL Mvi c, 08h ;làm biến đếm cho chương trình hiển thò Vd2: mov a, m ;lấy dữ liệu Sta 0a000h ;gởi ra led hiển thò Inr l ;tăng lên 1 để lấy byte tiếp theo Dcr c ;giảm biến đếm Jnz vd2 ;nhảy về vd2 khi chưa gởi đủ 8 byte Mvi a, 01h ;nạp thời hằng delay1 giây Call 0310h ;gọi chương trình con delay Mvi c, 08h ;làm biến điếm cho chương trình xóa Mvi a, 00h Vd3 sta 0a000h Dcr c Jnz vd3 Mvi 0, 01h Call... xử lý sẽ trở lại chương trình chính tiếp tục phần chương trình còn lại + Lệnh này chiếm 1 byte, số chu kỳ xung clock=10 + Thanh ghi trạng thái không đổi 2 Lệnh trở về khi Z=0: + Cú pháp: RNZ 1 + Mã đối tượng: + Ý 1 0 0 0 0 0 0 nghóa: lệnh này sẽ kết thúc chương trình con khi bit Z=0, vi xử lý sẽ trở lại chương trình chính tiếp tục phần chương trình còn lại, nếu không thỏa điều kiên chương trình con... thấp 8 bit cao 1 1 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 + 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 1 + 3 4 5 6 7 8 9 Mã đối 1 0 0 0 0 8 bit thấp 8 bit cao 1 0 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... CNC ADDR 5 Lệnh gọi khi bit C=1: + Cú pháp: CC ADDR 6 Lệnh gọi khi bit P=0: + Cú pháp: CPO ADDR 7 Lệnh gọi khi bit P=1: + Cú pháp: CPE ADDR 8 Lệnh gọi khi bit S=0: + Cú pháp: CP ADDR 9 Lệnh gọi khi bit S=1: + Cú pháp: CM ADDR XVII NHÓM LỆNH TRỞ VỀ TỪ CHƯƠNG TRÌNH CON: 1 Lệnh RET không điều kiện: + Cú pháp: RET + Mã đối tượng: 1 0 0 1 0 0 1 1 + Ý nghóa: lệnh này sẻ kết thúc chương trình con, vi xử lý... pháp: JPE ADDR Lệnh nhảy khi bit S=0: + Cú pháp: JP ADDR Lệnh nhảy khi bit S=1: + Cú pháp: JM ADDR XVI NHÓM LỆNH GỌI: 1 Lệnh gọi không điều kiện: + Cú pháp: CAAL + Mã đối 1 1 ADDR 0 0 1 1 8 bit thấp 8 bit cao 0 1 tượng: + Ý nghóa: vi xử lý sẽ thực hiện chương trình tại đòa chỉ ADDR sau đó sẽ trở về chương trình chính khi gặp lệnh trở về + Lệnh này chiếm 3 byte, số chu kỳ clock =18 + Lệnh này không... PCHL XIX NHÓM LỆNH XUẤT NHẬP 1 Lệnh nhập dữ liệu từ port: + Cú pháp:IN port-addr + Mã đối tượng: 2 3 4 5 6 1 1 0 1 1 0 port-addr 1 1 + Ý nghóa: nhập nội dung của có đòa chỉ port-addr vào thanh ghi A Đòa chỉ port-addr có độ dài 1 byte + Lệnh này chiếm 2 byte, số chu kỳ xung clock = 10 + Thanh ghi trang thái không thay đổi (Tương tự cho các lệnh khác) Lệnh xuất dữ liệu ra port: + Cú pháp: OUT port-addr Lệnh... 2.1 3 4 5 6 + Cú pháp:STC Lệnh nghòch đảo bit carry: + Cú pháp:CMC Lệnh điều chỉnh thập phân: + Cú pháp:DAA Lệnh nop: + Cú pháp:NOP Lệnh dừng: + Cú pháp:HLT XXI DỤ MINH HỌA TẬP LỆNH: Chương trình nhấp nháy chuỗi "-HÀ-NỘI-" trên 8 led: Org 7108h ;đòa chỉ bắt đầu nhập mã chuổi Db, 40h, 76h, 77h, 40h, 37h, 3fh, 30h, 40, ;khai báo mã của chuỗi Org 6200h Vd1: lxi h, 7108h ;nạp đòa chỉ quản lý dữ liệu vào... đến thanh ghi trạng thái 2 Lệnh gọi khi Z=0: + Cú pháp: CNZ ADDR 1 + Mã đối 1 0 0 1 1 8 bit thấp 8 bit cao 0 1 tượng: + Ý nghóa: vi xử lý sẽ thực hiện chương trình tại ADDR 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 Sau đó sẽ trở về chương trình chính khi gặp lệnh trở về + Lệnh này chiếm 3 byte, số chu kỳ clock =9/18 + Lệnh này không ảnh hưởng đến thanh ghi... ( Tương tự cho các lệnh khác) 3 Lệnh trở về khi Z=1: + Cú pháp: RZ 4 Lệnh trở về khi C=0: + Cú pháp: RNC 5 Lệnh trở về khi C=1: + Cú pháp: RC 6 Lệnh trở về khi P=0: + Cú pháp: RPO 7 Lệnh trở về khi P=1: + Cú pháp: RPE 8 Lệnh trở về khi S=0: + Cú pháp: RP 9 Lệnh trở về khi S=1: + Cú pháp: RM XVIII NHÓM LỆNH DI CHUYỂN CẶP THANH GHI 1 Lệnh trao đổi nội dung 2 cặp thanh ghi: + Cú pháp : XCHG + Mã đối... cho chương trình xóa Mvi a, 00h Vd3 sta 0a000h Dcr c Jnz vd3 Mvi 0, 01h Call 0310h Jmp vd1 ;nạp 00 vào A ;gởi ra led để xóa ;giảm biến đếm ;quay lại vd3 nếu chưa xóa đủ 8 led ;nạp thời hằng delay ;gọi chương trình delay ;quay lại làm lại chu kỳ kế . 0 1 d d d s s s CHƯƠNG 5: GIỚI THIỆU TẬP LỆNH CỦA VI XỬ LÝ 80 85 I . NHÓM LỆNH DI CHUYỂN 8 BIT: 1. Lệnh truyền dữ liệu giữa các thanh ghi: +. kết thúc chương trình con khi bit Z=0, vi xử lý sẽ trở lại chương trình chính tiếp tục phần chương trình còn lại, nếu không thỏa điều kiên chương trình

Ngày đăng: 21/01/2014, 19:20

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan