Giáo trình phân tích quy trình ứng dụng kỹ thuật xử lý các lệnh số học logic của bộ vi xử lý p3 docx

12 416 0
Giáo trình phân tích quy trình ứng dụng kỹ thuật xử lý các lệnh số học logic của bộ vi xử lý p3 docx

Đ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

Trường ĐH SPKT Luận văn tốt nghiệp GVHD: Nguyễn Đình Phú SVTH: Nguyễn Trung Dũng 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. + 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. 1 1 0 0 0 0 0 1 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 1 . . Trường ĐH SPKT Luận văn tốt nghiệp GVHD: Nguyễn Đình Phú SVTH: Nguyễn Trung Dũng (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 . . Trường ĐH SPKT Luận văn tốt nghiệp GVHD: Nguyễn Đình Phú SVTH: Nguyễn Trung Dũng 0 0 1 1 0 0 1 0 8 bit thấp 8 bit cao 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: DCX D 3. Lệnh giảm cặp thanh ghi HL: + Cú pháp: DCX H 4. Lệnh giảm cặp thanh ghi SP: + Cú pháp: DCX SP 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: + Ý 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: 0 0 0 0 1 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0 . . Trường ĐH SPKT Luận văn tốt nghiệp GVHD: Nguyễn Đình Phú SVTH: Nguyễn Trung Dũng 0 0 1 0 1 0 1 0 8 bit thấp 8 bit cao 0 0 0 0 0 1 1 1 + Ý 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 + 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 dufg 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 1 1 0 1 0 8 bit thấp 8 bit cao 0 0 1 0 0 0 1 0 8 bit thấp 8 bit cao . . Trường ĐH SPKT Luận văn tốt nghiệp GVHD: Nguyễn Đình Phú SVTH: Nguyễn Trung Dũng 0 0 0 0 1 1 1 1 1 1 0 0 0 0 1 1 8 bat thấp 8 bit cao 1 1 0 0 0 0 1 0 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ú p`á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. + 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 . . Trường ĐH SPKT Luận văn tốt nghiệp GVHD: Nguyễn Đình Phú SVTH: Nguyễn Trung Dũng 1 1 0 0 1 1 0 1 8 bit thấp 8 bit cao 1 1 0 0 1 1 0 1 8 bit thấp 8 bit cao 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 XVI. NHÓM LỆNH GỌI: 1. Lệnh gọi không điều kiện: + Cú pháp: CAAL ADDR + Mã đối 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 ảnh hưởng đến thanh ghi trạng thái. 2. Lệnh gọi khi Z=0: + Cú pháp: CNZ ADDR + Mã đối 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 trạng thái. ( Tương tự cho các lệnh khác). 3. Lệnh gọi khi bit Z=1: + Cú pháp: CZ ADDR 4. Lệnh gọi khi bit C=0: + Cú pháp: CNC ADDR 5. Lệnh gọi khi bit C=1: + Cú pháp: CC ADDR . . Trường ĐH SPKT Luận văn tốt nghiệp GVHD: Nguyễn Đình Phú SVTH: Nguyễn Trung Dũng 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: + Ý nghóa: lệnh này sẻ kết thúc chương trình con, 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. + 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 + Mã đối tượng: + Ý 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 sẽ thực hiện các lệnh tiếp theo. + Lệnh này chiếm 1 byte, số chu kỳ clock=6/12. + Thanh ghi trạng thái không thay đổi. ( 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 1 1 0 0 1 0 0 1 1 1 0 0 0 0 0 0 . . Trường ĐH SPKT Luận văn tốt nghiệp GVHD: Nguyễn Đình Phú SVTH: Nguyễn Trung Dũng Bảng tra các thanh ghi: Register ddd or sss B 000 C 001 D 010 E 011 H 100 L 101 M 110 A 111 Bảng 2.1 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 tượng: + Ý nghóa: nội dung cặp thanh ghi HL và DE được trao đổi cho nhau. Thanh ghi H trao đổi với D thanh ghi L trao đổi với E. + 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 trao đổi nội dung cặp thanh ghi với ô nhớ: + Cú pháp : XTHG 3. Lệnh di chuyển nội dung cặp thanh ghi: + Cú pháp : SPHL 4. Lệnh nạp cặp thanh ghi PC : + Cú pháp : 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: + Ý 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). 2. Lệnh xuất dữ liệu ra port: + Cú pháp: OUT port-addr 3. Lệnh cho phép ngắt: + Cú pháp: EI 4. Lệnh không cho phép ngắt: + Cú pháp: DI 5. Lệnh read interrupt mask: + Cú pháp: RIM 6. Lệnh set interrupt mask: + Cú pháp: SIM XX. NHÓM LỆNH ĐẶC BIỆT: 1. Lệnh nghòch đảo nội dung thanh ghi A: 1 1 0 1 1 0 1 1 port - a ddr 1 1 1 0 1 0 1 1 . . Trường ĐH SPKT Luận văn tốt nghiệp GVHD: Nguyễn Đình Phú SVTH: Nguyễn Trung Dũng + Cú pháp: CMA 2. Lệnh đặt bit carry: + Cú pháp: STC 3. Lệnh nghòch đảo bit carry: + Cú pháp: CMC 4. Lệnh điều chỉnh thập phân: + Cú pháp: DAA 5. Lệnh nop: + Cú pháp: NOP 6. Lệnh dừng: + Cú pháp: HLT XXI. VÍ 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 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 ;nạp 00 vào A Vd3 sta 0a000h ;gởi ra led để xóa Dcr c ;giảm biến đếm Jnz vd3 ;quay lại vd3 nếu chưa xóa đủ 8 led Mvi 0, 01h ;nạp thời hằng delay Call 0310h ;gọi chương trình delay Jmp vd1 ;quay lại làm lại chu kỳ kế. . . Trường ĐH SPKT Luận văn tốt nghiệp GVHD: Nguyễn Đình Phú SVTH: Nguyễn Trung Dũng CHƯƠNG III: GIAO TIẾP VỚI MÁY TÍNH I. GIAO TIẾP SONG SONG: GIAO TIẾP QUA CỔNG MÁY IN 1.1 Vài nét cơ bản về cổng máy in: Việc nối máy in với máy tính được thực hiên qua ổ cắm 15 chân ở phía sau máy tính. Nhưng đây không phải chỉ là chỗ nối với máy in mà khi sử dụng máy tính vào việc khác, như truyền dữ liệu từ máy tính tới một thiết bò khác, hay điều khiển thiết bò bằng máy tính thì việc ghép nối cũng được ghép nối qua cổng máy in. Qua cổng này dữ liệu được truyền đi song song, nên đôi khi còn được gọi là cổng ghép nối song song và tốc độ truyền cũng đạt đến mức đáng kể. Tất cả các đường dẫn của cổng máy in đều tương thích với TTL. Nghóa là chúng đều cung cấp mức điện áp nằm giữa 0V đến 5V. do đó ta cần lưu ý là các đường dẫn vào cổng này không được đặt mức điện áp quá lớn. Sự sắp xếp các chân của cổng eáy in với tất cả các đường dẫn được mô tả như sau: Chức năng các chân Chân Ký hiệu Out/in Chức năng 1 2 9 10 11 12 13 14 15 16 17 18 25 Strobe D0 D7 ACK Busy PE SLCT AF ERROR INIT SLCTN GND Out Out In In In In Out In Out Out Byte được in Các đường dữ liệu D0 D7. Phần thu báo cho phần phát biết đã thu xong một kí tự Phần tín hiệu do phần thu báo cho phần phát biết là phần thu đang bận Báo hết giấy Báo chọn máy in Máy tính báo ra máy in tự nạp giấy Báo các lỗi của máy in Reset máy in Chọn máy in Nối đất 13 1 25 14 O O O O O O O O O O O O O O O O O O O O O O O O O HÌNH 3.1 . . [...]... Dũng Trường ĐH SPKT Luận văn tốt nghiệp 1.4 Hoạt động của vi c trao đổi dữ liệu: a Hoạt động của phần phát: + đọc Busy cho đến khi Busy\ = 1 + gửi dữ liệu ra bus dữ liệu + cho Strobe = 0 + chuẩn bò dữ liệu tiếp theo + quay về bước 1 b Hoạt động của phần thu: + đọc Strobe cho đến khi Strobe = 1 + Busy = 0, ACK = 0 + đọc dữ liệu vào + đưa ACK = 1 + xử lý dữ liệu + cho Busy = 1 để phát ký tự tiếp theo +... Trường ĐH SPKT Luận văn tốt nghiệp 1.3 Trao đổi với các đường dẫn tín hiệu: LPT1: Gồm có 3 thanh ghi: thanh ghi dữ liệu, thanh ghi trạng thái và thanh ghi điều khiển a Thanh ghi dữ liệu: gồm có 8 bit dữ liệu, có đòa chỉ là 378h D7 D6 D5 CHÂN SỐ : 9 8 7 D4 6 D3 5 D2 4 D1 3 D0 2 HÌNH 3.2 b Thanh ghi trang thái: có đòa chỉ là 379h D7 D6 D5 D4 D3 D2 . + Ý 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 ảnh. đối tượng: + Ý nghóa: lệnh này sẻ kết thúc chương trình con, 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. + Lệnh này chiếm 1 byte, số chu kỳ xung clock=10 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 trạng thái. ( Tương tự cho các lệnh khác). 3. Lệnh gọi

Ngày đăng: 06/08/2014, 12:21

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